【问题标题】:chat server using comet / websockets使用 comet / websockets 的聊天服务器
【发布时间】:2012-11-16 23:17:49
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: websocket chat comet tornado


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      除非您可以保证您的所有用户都支持本机 WebSocket 或安装了 Flash,否则您还应该有一个基于 HTTP 的后备方案; HTTP-Long 轮询、HTTP-Streaming、旧版 AJAX 轮询。

      有很多good realtime web tech solutions out there 用于实现聊天应用程序。他们中的大多数将为您处理回退,并为您提供让用户了解连接进度的机制。有些还为您处理水平缩放。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-12
        • 1970-01-01
        • 2012-02-24
        • 2011-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多