我正在使用Mate的RemoteObjectInVoker来调用我的基于FluorineFX的API中的方法。但是,所有请求似乎都发送到服务器顺序。也就是说,如果我同时派遣一组消息,那么第二张消息直到第一次返回才发送。无论如何是否有改变这种行为?我不希望我的应用程序不响应,而长期请求正在处理。

有帮助吗?

解决方案

这个 线程将帮助您了解发生了什么(它谈论了燃烧/livecylce,但我认为氟正在使用相同的方法)。用几句话,发生的事情是:a)Flash Player将您的所有呼叫分组到一个HTTP帖子中。 b)服务器(燃烧,氟等)接收请求,并开始串行执行该方法。

解决方案

a)每个方法具有一个HTTP帖子,而不是包含所有AMF消息的一个HTTP帖子。为此,您可以使用httpchannel而不是amfchannels(内部使用flash.net.urlloader而不是flash.net.netconnection)。您将仅限于浏览器定义的最大并行连接数量。

b)只有一个HTTP帖子,但在服务器上实现了一个巧妙的解决方案(这将使您花费大量开发时间)。基本上,您可以编写自己的并行处理器,并使用消息消费者/发布者,以将方法的结果发送给客户端。

c)有类似于a)的解决方法 https://bugs.adobe.com/jira/browse/blz-184 - 通过手动创建远程对象,并在端点末端附加随机ID。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top