我认为Socket.IO应该选择最好的方法来查找与服务器的连接 在该系列中,
Websocket , FlashSocket and then JSONP
但是我的服务器在节点0.4.9的顶部运行socket.io 0.7.7(在使用cygwin编译的Windows上),没有任何明显的原因进入XHR / JsonP轮询。我已经检查了80-89的所有端口只是为了确保,问题始终保持不变。
我还检查了两侧的控制台日志。 Firebug Gives没有错误只是向我显示XHR获取请求。
并在服务器控制台上,它给了我:
info - socket.io started
debug - client authorised // i dunno why this is occuring though
info - handshake autorised 154845454664764
setting request Get/socket.io/1/xhr-polling/154845454664764
debug - setting poll timeout
。 。 。等等 任何理由都在想家伙?
答案 0 :(得分:1)
您可能正在使用Firefox that has WebSockets disabled的版本。
警告:除此之外,WebSockets目前还有一个关键原因 在Firefox 4和5中默认禁用是发现安全性 协议设计中的问题。在那些版本的中使用WebSockets 目前不建议在生产环境中使用Firefox。 如果你仍然希望尝试使用WebSockets,你可以这样做 打开about:config并设置network.websocket.enabled 偏好为真。你还需要设置 network.websocket.override-security-block首选项按顺序为true 允许初始化WebSocket连接。
答案 1 :(得分:1)
Firefox确实禁用了websockets。标准socket.io没有flashsocket,所以你必须将它添加到你的configuration =>
io.set('transports', [ // enable all transports (optional if you want flashsocket)
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
然后它应该可以正常工作。
debug - client authorised // i dunno why this is occuring though
socket.io可以authorization。