替代java / flash用于webapps中的低延迟双向通信?

时间:2010-08-17 01:55:13

标签: web-applications bidirectional low-latency

我想设计具有低延迟的webapps(例如游戏)。我认为ajax的标题会增加延迟。我真正想要的是一种永远不会破坏连接的协议,客户端和服务器都可以立即将数据推送到彼此。 (因此彗星不是真正的选择,因为只有一方沟通)。更好的方法是将数据作为二进制文件发送并压缩它。

编辑:我想要替代java / flash / silverlight,因为我的平台是ipad / iphone,它不支持java / flash / silverlight

请不要推荐任何/需要java / flash / silverlight的东西,谢谢

4 个答案:

答案 0 :(得分:1)

您可能正在寻找的内容最容易使用Actionscript中的Flash和Socket编程来完成。这将允许您保持与服务器的连续连接(您也必须编写,我会建议Haxe),并提供相当低的延迟来交换信息。

请注意,虽然在此级别进行通信将具有挑战性,因为您需要设计自己的协议来打包和解包您发送的数据。

答案 1 :(得分:1)

根据您的时间表和强加用户要求的能力,您可以使用WebSockets。有关浏览器支持的信息,请参阅link text

答案 2 :(得分:0)

Flash,Java和Silverlight都支持套接字。这将为您提供连续的无HTTP连接,可以允许以任一方向发送数据。

缺点是,它不适用于所有网络环境。

答案 3 :(得分:0)

看看BlazeDS使用AMF作为两者之间的序列化协议。 BlazeDS是一个Java服务器平台,用于在Spring中使用AMF序列化到Flex / Flash应用程序构建应用程序。 AMF是一种占用空间非常小的二进制协议。在Flash中应用JSON,XML和AMF的网络中有一个示例。

http://www.jamesward.com/census/

http://insideria.com/2008/09/amf-vs-json-vs-xml.html