当我在 Socket.IO 中监听客户端连接时,由于回退到 XHR,似乎存在 8-9 秒的延迟。对于大多数用途来说这太慢了,因为我使用 Socket.IO 将数据推送到用户的新闻提要,并且很多事情可能会在 8 或 9 秒内发生。
有什么办法可以加速这种失败吗?
编辑:
部署到 Nodejitsu 的 VPS 后,我再次尝试了此操作,套接字连接几乎是立即的(足以让用户不会注意到)。我只在本地机器上经历过这种情况。所以问题实际上可能是:为什么我的本地计算机上速度这么慢?
最佳答案
如果没有有关本地设置的更多信息,这个问题几乎不可能回答,但有趣的是,您正在故障转移到 XHR。以下问题可能可以解释为什么它会故障转移到 XHR,但如果您在发布后能够成功使用相同的浏览器,则无法解释。
Socket.io reverting to XHR / JSONP polling for no apparent reason
我读到的另一个潜在问题是您的浏览器缓存了不正确的传输方法。您可以尝试清除浏览器缓存并重新连接,看看是否可以解决问题。
https://groups.google.com/group/socket_io/browse_thread/thread/e6397e89efcdbcb7/a3ce764803726804
最后,如果您无法弄清楚为什么不使用 WebSockets 或 FlashSockets,您可以尝试将它们作为选项从您的 socket.io 配置中删除,这样当您在本地开发时,您可能能够获得至少过了这个延迟才能加快开发速度。
关于node.js - 加速 Socket.IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9042951/