0
我在写网络闪存应用程序。服务器(独立的C++应用程序)为Flash客户端发送资源来操作和/或显示图像和声音。我假设浏览器将这些资源存储在缓存中。由于资源可能很大,每次客户端重新启动应用程序时,我都不希望从服务器重新发送它们。我不能使用LSO(flash cookies),因为如果缓存被浏览器或用户独立清除,那么LSO就不会更新。
因此对于闪存大师.. 1)有没有办法检测一个项目是否已被缓存,例如查询浏览器缓存的crc或什么?也许加载屏幕外的对象,并(以某种方式)检测它是否显示? - 或 - 2)有什么办法可以避免使用普通的浏览器缓存并在某种较大的LSO中自行缓存?
感谢您的帮助。
嗯,这里的问题是,资源没有存储在SWF或任何本地我可以预加载他们 - 他们直接从服务器(例如,在第一次运行),然后(我假设)得到填充在浏览器缓存中。我没有看到我能够检测到客户端是否真的有资源,因此它决定是否必须从服务器发出请求。 – flashnewb 2009-10-23 09:04:31
是的。你可以显示一个预加载器来下载资源。如果你用flash给出的任何加载方法(urlloader,loader,无论什么)加载图像,你有进度和加载完成的事件,依此类推。您知道您需要下载多少资产,将进度条划分为该数字,并获取第一个资源。当完成时,增加进度条,并加载下一个等等。 – TheBrain 2009-10-23 09:26:47
正如我的s/n所说,我是一个flash新手,请耐心等待我,因为我还没有得到它。我们来试试一个例子。假设您有一台非常基本的服务器,它只是通过套接字将图像发送到Flash客户端。客户端显示他们进来的图像。我想要做的是让服务器首先发送图像标识符(名称或校验和或其他),然后客户端可以用“我拥有它”或“发送”。客户如何确定这一点? – flashnewb 2009-10-23 09:32:22