socket.io没有发送连接消息到客户端上的flashsocket
我使用node.js服务器和socket.io插件在不同设备上的两个客户端(flash和js)之间进行连接
对于Flash集成,我使用FlashSocket.IO库,并有io.set('transports', ['websocket', 'flashsocket']);
在我的.js服务器文件上
而一切正常工作在大多数电脑 – 在一些电脑(我不知道是否相关,但我检查的两台电脑都运行Windows 8) – 连接不起作用
当启用服务器上的debugging时,我看到,对于工作的客户端服务器发送1::
消息和非工作的客户端 – 它不
这是工作客户端的日志的一部分:
debug - client authorized info - handshake authorized 8JVqPB6MuJYJeMR3RVN_ debug - setting request GET /socket.io/1/flashsocket/8JVqPB6MuJYJeMR3RVN_ debug - set heartbeat interval for client 8JVqPB6MuJYJeMR3RVN_ debug - client authorized for debug - flashsocket writing 1:: connected - //my console.log call on io.sockets.on('connection', ... debug - flashsocket received data packet 5:0+::{"args":"7087623252","name":"register"}
对于不工作的客户:
debug - client authorized info - handshake authorized 0nztNzwvw260Pa-bRHef debug - setting request GET /socket.io/1/flashsocket/0nztNzwvw260Pa-bRHef debug - set heartbeat interval for client 0nztNzwvw260Pa-bRHef debug - client authorized for connected - //my console.log call on io.sockets.on('connection', ...
PS
它似乎不是一个防火墙问题 – 即使防火墙closures,问题仍在继续
谢谢!
我相信这是一个浏览器相关的问题。 从socket.io github页面 :
即使flashsocket被指定为唯一的传输方式,
flashsocket
也不会在Chrome或其他完全支持WebSocket的浏览器上激活。 要testingflashsocket,请使用IE 8或IE 9或其他本身不支持WebSocket的浏览器。
所以如果你想确保flashsocket工作正常使用IE 8/9。
最终这是一个防病毒相关的问题
在我疯狂的一秒钟之前,我发现安装在电脑上的Avast阻止了连接 – 当Web Shield被禁用时 – 一切都像一个魅力
(在我的Win7机器上安装相同的防病毒程序没有再现问题 – 也许这是Win8 + Avast的问题)
不pipe怎么说,还是要谢谢你