1

我正在尝试编写聊天服务器,但希望它能够应对相对较高的负载并在所有浏览器中兼容。(硬件问题不大)

所以我在看 websockets/comet/python/tornado。

Websocket 似乎有很多跨浏览器的兼容性问题。如果 websockets 不起作用,它会退回到 flash 并且在下载 .swf 文件时会有延迟。我们的用户会认为该网站因延迟而崩溃。

我的问题是,我是否缺少 websockets 的东西?我应该看别的吗?网上写了这么多,我开始不知道什么是好什么坏了。

谢谢

4

2 回答 2

2

Websocket 似乎有很多跨浏览器的兼容性问题。

浏览器兼容性非常好,并且一直在改进。请参阅:caniuse.com/#feat=websockets

也就是说,您应该有备用选项。

如果 websockets 不起作用,它会退回到 flash 并且在下载 .swf 文件时会有延迟。我们的用户会认为该网站因延迟而崩溃。

仅当延迟显着时。即使是这样,您也可以通过向用户提供建设性的反馈来解决这个问题,让他们知道应用程序正在连接并且一切都按预期工作。

除非您可以保证您的所有用户都具有原生 WebSocket 支持或安装了 Flash,否则您还应该有一个基于 HTTP 的回退;HTTP-Long Polling、HTTP-Streaming、遗留 AJAX 轮询。

有很多优秀的实时网络技术解决方案可用于实现聊天应用程序。他们中的大多数将为您处理回退,并为您提供让用户了解连接进度的机制。有些还为您处理水平缩放。

于 2012-11-29T07:53:22.130 回答
0

socket.io在 javascript 客户端中非常流行,而tornado提供了 tornado 集成。检查 Leggetters 参考列表以获取更多选项(顺便说一句,干得好!)。

于 2012-11-29T10:14:23.293 回答