我想设计具有低延迟的webapps(例如游戏)。我认为ajax的标题会增加延迟。我真正想要的是一种永远不会破坏连接的协议,客户端和服务器都可以立即将数据推送到彼此。 (因此彗星不是真正的选择,因为只有一方沟通)。更好的方法是将数据作为二进制文件发送并压缩它。
编辑:我想要一个java / flash / silverlight的替代品,因为我的平台是ipad / iphone,它不支持java / flash / silverlight
请不要推荐任何/需要java / flash / silverlight的东西,谢谢
根据您的时间表和强加用户要求的能力,您可以使用WebSockets。有关浏览器支持的信息,请参阅link text。
您可能正在寻找的内容最容易使用Actionscript中的Flash和Socket编程来完成。这将允许您保持与服务器的连续连接(您也必须编写,我会建议Haxe),并提供相当低的延迟来交换信息。
请记住,虽然在此级别进行通信将具有挑战性,因为您将需要设计自己的协议来打包和解包您发送的数据。
Flash,Java和Silverlight都支持套接字。这将为您提供一个没有http标头的连续连接,可以允许数据以任一方向发送。
缺点是,它不适用于所有网络环境。
看看BlazeDS,它使用AMF作为两者之间的序列化协议。 BlazeDS是一个Java服务器平台,用于在Spring中使用AMF序列化到Flex / Flash应用程序构建应用程序。 AMF是一种占用空间非常小的二进制协议。在网络中有一个例子,它比较了Flash应用程序中的JSON,XML和AMF。