【问题标题】:In Mate, Sending two or more requests to the server simultaneously?在 Mate 中,同时向服务器发送两个或多个请求?
【发布时间】:2011-04-18 23:11:01
【问题描述】:

我正在使用 Mate 的 RemoteObjectInvoker 调用基于 FluorineFX 的 API 中的方法。但是,所有请求似乎都按顺序发送到服务器。也就是说,如果我同时发送一组消息,则在第一个返回之前不会发送第二个。有没有办法改变这种行为?我不希望我的应用在处理长请求时无响应。

【问题讨论】:

    标签: apache-flex flash actionscript-3 mate


    【解决方案1】:

    This 线程将帮助您了解发生了什么(它谈到了 blazeds/livecylce,但我假设 Fluorine 使用相同的方法)。简而言之,发生的事情是: a)Flash 播放器将您的所有调用分组在一个 HTTP 帖子中。 b)服务器(BlazeDs、Fluorine 等)接收到请求并开始依次执行方法。

    解决方案

    a) 每个方法有一个 HTTP 帖子,而不是一个包含所有 AMF 消息的 HTTP 帖子。为此,您可以使用 HTTPChannel 代替 AMFChannels(在内部使用 flash.net.URLLoader 而不是 flash.net.NetConnection)。您将受到浏览器定义的最大并行连接数的限制。

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

    c)在https://bugs.adobe.com/jira/browse/BLZ-184 上有一个类似于 a) 的解决方法 - 手动创建您的远程对象并在端点末尾附加一个随机 id。

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 2022-07-24
      • 2017-12-15
      相关资源
      最近更新 更多