node.js - 加速 Socket.IO

标签 node.js socket.io

当我在 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/

相关文章:

node.js - 如何连接到heroku托管服务器?

node.js - 使用 Require.js 在离线应用程序中引用 Node 服务器的 Socket.io

Node.js(带 socket.io 和 express)抛出 "events.js:71 throw arguments[1];//Unhandled ' 错误事件”

node.js - 重构 Mongoose 查询

json - 如何通过node js向现有的json文件添加子 Node ?

node.js - io.sockets.to(RoomID).emit 在 NodeJS 上不起作用

node.js - NodeJS : Socket. IO:Websocket 请求显示状态为已完成,而不是预期的 101

node.js - es6-promise:httpntlm 模块中的 promisify

node.js - MongoClient Node 游标流和数据管道

node.js - Axios前端到Golang后端的CORS问题