我正在尝试编写聊天服务器,但希望它能够应对相对较高的负载并在所有浏览器中兼容。(硬件问题不大)
所以我在看 websockets/comet/python/tornado。
Websocket 似乎有很多跨浏览器的兼容性问题。如果 websockets 不起作用,它会退回到 flash 并且在下载 .swf 文件时会有延迟。我们的用户会认为该网站因延迟而崩溃。
我的问题是,我是否缺少 websockets 的东西?我应该看别的吗?网上写了这么多,我开始不知道什么是好什么坏了。
谢谢
Websocket 似乎有很多跨浏览器的兼容性问题。
浏览器兼容性非常好,并且一直在改进。请参阅:caniuse.com/#feat=websockets
也就是说,您应该有备用选项。
如果 websockets 不起作用,它会退回到 flash 并且在下载 .swf 文件时会有延迟。我们的用户会认为该网站因延迟而崩溃。
仅当延迟显着时。即使是这样,您也可以通过向用户提供建设性的反馈来解决这个问题,让他们知道应用程序正在连接并且一切都按预期工作。
除非您可以保证您的所有用户都具有原生 WebSocket 支持或安装了 Flash,否则您还应该有一个基于 HTTP 的回退;HTTP-Long Polling、HTTP-Streaming、遗留 AJAX 轮询。
有很多优秀的实时网络技术解决方案可用于实现聊天应用程序。他们中的大多数将为您处理回退,并为您提供让用户了解连接进度的机制。有些还为您处理水平缩放。