在3G移动网络上,node.js中的socket.io无法正常工作。
我已经尝试了以下几个方法:
io.set("transports", ["xhr-polling"]);
io.set('browser client minification', true);
io.set('browser client etag', true);
在3G移动网络上,node.js中的socket.io无法正常工作。
我已经尝试了以下几个方法:
io.set("transports", ["xhr-polling"]);
io.set('browser client minification', true);
io.set('browser client etag', true);
移动网络为了节省流量通常会对数据进行压缩和转换,以及使用代理服务器来处理数据,这些过程很容易出现与规范不符的情况。
特别是在 WebSocket 连接中经常会出现连接失败的情况。只开启 AJAX 传输是正确的做法。如果仍然无法连接,那么你没有太多办法来解决这个问题。
你可以尝试将 Socket.IO 服务器运行在非 80 端口上。至少在我的 Sprint 连接上,我可以在 3000 端口上运行纯 WebSocket,但在 80 端口上却无法连接。
尝试从您的代码中删除此内容:
io.set("transports", ["xhr-polling"]);