将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兼容性。
希望这可以帮助。
- 如何在Sails.js中包含npm模块的服务?
- node-gyp:gyp ERR! 无法加载共享的libpython2.7.so.1.0
- express.js 4已经打破了request.on('data')触发
- Node.js使用Passport进行身份validation:如果字段丢失,如何刷新消息?
- 用户和angular色授权在swigger api express中
- 如何从Dockerized Node应用程序内向Elasticsearch发送应用程序日志?
- 电子:如何只在电子中静电印制html(div)的一部分?
- UglifyJS在Windows中使用NPM
- KeystoneJS关系types,按字段值限制可用项目