使用comet/websockets的聊天服务器

使用comet/websockets的聊天服务器,websocket,chat,comet,tornado,Websocket,Chat,Comet,Tornado,我试图编写一个聊天服务器,但希望它能够处理相对较高的负载,并兼容所有浏览器。(硬件不是什么大问题) 所以我在看websockets/comet/python/tornado Websocket似乎有很多跨浏览器的兼容性问题。如果WebSocket不工作,它会返回flash,下载.swf文件时会有延迟。我们的用户会认为网站因延迟而崩溃 我的问题是,我是否在WebSocket上遗漏了什么?我应该看看别的东西吗。网上写的东西太多了,我开始不知道什么是好的,什么是坏的 谢谢 Websocket似乎有很多

我试图编写一个聊天服务器,但希望它能够处理相对较高的负载,并兼容所有浏览器。(硬件不是什么大问题)

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

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

我的问题是,我是否在WebSocket上遗漏了什么?我应该看看别的东西吗。网上写的东西太多了,我开始不知道什么是好的,什么是坏的

谢谢

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

浏览器兼容性非常好,并且一直在提高。见: caniuse.com/#feat=websockets

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

如果WebSocket不工作,它会返回flash,下载.swf文件时会有延迟。我们的用户会认为网站因延迟而崩溃

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

除非你能保证你的所有用户都有本机WebSocket支持或者安装了Flash,否则你也应该有一个基于HTTP的回退;HTTP长轮询、HTTP流、传统AJAX轮询

实现聊天应用程序有很多方法。它们中的大多数将为您处理回退,并为您提供让用户了解连接进度的机制。有些还可以处理水平扩展。

对于javascript客户端非常流行,并提供tornado集成。查看Leggetters参考列表,了解更多选项(顺便说一句,很棒!)