node.js中的socket.io不适用于3G移动网络

node.js中的socket.io不适用于3G移动网络,node.js,networking,mobile,socket.io,3g,Node.js,Networking,Mobile,Socket.io,3g,node.js中的socket.io不适用于3G移动网络 我已经试过这些东西了: io.set("transports", ["xhr-polling"]); io.set('browser client minification', true); io.set('browser client etag', true); 移动网络做了各种各样的事情来破坏数据。在整个过程中,经常会看到攻击性的代理服务器、数据压缩和转换,以及对规范的遵从性差 我特别注意到WebSocket连接经常失败。只启

node.js中的socket.io不适用于3G移动网络

我已经试过这些东西了:

 io.set("transports", ["xhr-polling"]);
 io.set('browser client minification', true);
 io.set('browser client etag', true);

移动网络做了各种各样的事情来破坏数据。在整个过程中,经常会看到攻击性的代理服务器、数据压缩和转换,以及对规范的遵从性差

我特别注意到WebSocket连接经常失败。只启用AJAX传输是正确的。如果失败了,你就没有办法解决这个问题了


您可以尝试在80以外的端口上运行Socket.IO服务器。至少通过Sprint连接,我可以在端口3000上运行纯WebSocket,但在端口80上失败。

尝试从代码中删除此选项:

io.set("transports", ["xhr-polling"]);

因为socket.io在最终放弃之前会尝试所有可用的传输。但是,您只启用了一个可能会导致错误的传输

socket.io是否记录心跳以外的内容,握手呢?