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在最终放弃之前尝试所有可用的传输。 但是,您只启用了一个可能导致错误的传输