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