Flex:客户端/服务器消息传递问题(RPC或套接字?)

时间:2010-04-09 14:53:41

标签: flex sockets client-server rpc

我正在构建一个Flex应用程序,它将执行许多服务器请求(假设几乎所有交互都需要服务器更新)。

目前我正在使用远程过程调用。但我想知道使用套接字是否会更好。

换句话说,最好是保持连接存活,而不是按顺序执行多次调用?

对于我的演示应用程序,我只有一个客户端。连接到服务器的客户端数量是否是此选择的一个因素?

感谢

1 个答案:

答案 0 :(得分:0)

如果您使用套接字(并且实际构建您自己的NIO服务器,可能基于Apache MINA),可以获得性能提升,但在我看来,您将不得不投入大量的工作。我知道有些人使用这种方法,但是对于一个非常特殊的应用程序(Flash游戏应该有很多用户)。他们花了一个月的时间来建造它。

另一个解决方案(如果你打算使用套接字)是使用一些提供RTMP频道的产品(LCDS,WebOrb),但它们不是免费的,而且我认为如果你打算只使用它们,那是不值得的RPC通过套接字调用。

对于大多数情况,基于POST的RPC方法应该足够好。 AMF序列化非常紧凑(我写了here一个小基准,你可以在网上找到另一个资源。)

Flash Player也会在一个批处理中发送您的RPC请求 - 例如,如果您一个接一个地调用Flex代码3方法,所有这些方法将只在一个POST调用中进行分组。