node.js中的socket.io不支持3G移动networking

node.js中的socket.io不支持3G移动networking。

我已经试过这些东西了:

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

移动networking做各种事情来破坏数据。 看到积极的代理服务器,数据的压缩和转换,以及对规范的坚持不懈是非常普遍的。

我特别注意到WebSockets连接经常失败。 你只是通过启用AJAX传输来做正确的事情。 如果失败了,解决这个问题的可能性就不大了。

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

尝试从你的代码中删除这个:

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

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