从企业防火墙/代理后面使用 socket.io 模块的解决方案是什么?这是我正在使用的代码。
// setup express server
var app = express()
var serv = http.createServer(app);
serv.listen(80);
// setup socket io - listens in on express store as well for sessions
var io = require('socket.io').listen(serv);
我遇到了类似的问题,最终完全禁用了 websocket:
io.configure('production', function(){
io.set('transports', ['xhr-polling']);
});
XHR轮询在任何地方都可以使用,但对每个人来说都有更大的开销(即使只有5%的用户真正需要它)。
好消息是,即将推出的 1.0 版 Socket.IO 将解决此问题:
与之前的 Socket.IO 核心不同,它总是首先建立长轮询连接,然后尝试升级到在侧面"测试"的更好的传输。
在这里检查:https://github.com/LearnBoost/engine.io