将socket.io切换到端口80,导致传输切换到xhr轮询

我有一个socket.io服务器端口3000运行完美。 所有的socket.emit和其他操作都通过websocket连接工作。

但是,一旦我试图在端口80上运行服务器,更改

app.listen(3000) to app.listen(80) 

并做了所有必要的客户端更改,socket.io停止使用websocket并切换到xhr轮询

 warn - websocket connection invalid info - transport end debug - set close timeout for client 1830609591747620770 debug - cleared close timeout for client 1830609591747620770 debug - cleared heartbeat interval for client 1830609591747620770 debug - setting request GET /socket.io/1/websocket/1830609591747620770 debug - set heartbeat interval for client 1830609591747620770 warn - websocket connection invalid info - transport end debug - set close timeout for client 1830609591747620770 debug - cleared close timeout for client 1830609591747620770 debug - cleared heartbeat interval for client 1830609591747620770 debug - setting request GET /socket.io/1/xhr-polling/1830609591747620770?t=1338511205390 debug - setting poll timeout debug - client authorized for debug - clearing poll timeout debug - xhr-polling writing 1:: debug - set close timeout for client 1830609591747620770 debug - setting request GET /socket.io/1/xhr-polling/1830609591747620770?t=1338511205500 debug - setting poll timeout debug - discarding transport 

任何想法,为什么它切换到XHR投票,而我可以尝试?

谢谢

编辑::将我也运行快速的Web服务器和Web套接字服务器的事实是一个问题? 因为在我的代码中,我已经启动并运行了。 如果这导致这个问题,我该如何解决这个问题?

我还没有弄清楚为什么它切换到XHR轮询,但为了我的目的只是希望websocket服务器端口80上工作,我是如何解决我的问题是使用节点的http代理包https://github.com / nodejitsu /节点-HTTP代理

我保持我的代码是一样的,但代理侦听端口80,并将其路由到端口3000,我的websocket正在侦听。

警告“websocket连接无效”似乎提示端口80上的防火墙/防病毒安全阻止networking套接字的问题。有关此类问题的完整列表,请检查Socket.io和防火墙软件

使用http://websocketstest.com/上的testing/诊断页面查看networking兼容性。

希望这可以帮助。