企业防火墙阻止了Socket IO WebSocket请求。

时间:2013-09-17 14:09:14

标签: node.js express websocket socket.io

从企业防火墙/代理后面使用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);

1 个答案:

答案 0 :(得分:6)

我有一个类似的问题,我最终完全禁用了websocket:

io.configure('production', function(){
  io.set('transports', ['xhr-polling']);
});

XHR-polling无处不在,但每个人的开销都要大得多(即使只有5%的用户真正需要它)。

好消息是,即将推出的1.0版Socket.IO将解决这个问题:

  

与之前的Socket.IO核心不同,它始终首先建立长轮询连接,然后尝试升级到更好的传输,并在侧面进行“测试”。

在此处查看:https://github.com/LearnBoost/engine.io