当我在Socket.IO中侦听客户端连接时,由于它回退到XHR,似乎有8-9秒的延迟。这对于大多数用途来说太慢了,因为我使用Socket.IO将数据推送到用户的新闻源,并且很多事情可能发生8或9秒。
有没有办法加速这次失败?
修改:
在部署到Nodejitsu的VPS后,我再次尝试了这一点,并且套接字连接几乎是立即的(足以让用户不会注意到)。我只是在我的本地机器上遇到这个问题。所以问题实际上可能是:为什么我的本地机器上这么慢?
答案 0 :(得分:0)
如果没有关于本地设置的更多信息,这个问题几乎是不可能回答的,但有趣的是你正在接受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配置中删除它们作为选项,这样当你在本地开发时,你可能会得到超过这个延迟,至少可以更快地发展。