端口80上的SocketIO和Express一起使用

时间:2015-10-18 20:08:14

标签: node.js express websocket socket.io

我使用Socket.io运行ExspressJS应用程序,由于防火墙问题更高端口的SIO我希望切换它们都可以在端口80上运行。

找到这个small article并且在我的开发机器上看起来效果很好。

我的问题是,这样做真的很糟糕吗?这是一个好习惯吗?如果不是为什么?

请告知。

1 个答案:

答案 0 :(得分:3)

在同一端口上运行socket.io和Web服务器是绝对有意义的。

webSocket协议(socket.io所基于的)是专门为此而设计的,这是socket.io被用于多种原因的主要方式,包括相同来源权限以及端口80的客户端和服务器防火墙路由

如果你没有意识到,每个socket.io连接都以对特定路由的HTTP请求开始,然后一旦客户端和服务器之间的初始握手被确认,那么协议就是#34;升级"从HTTP到webSocket。由于所有socket.io连接都在非常特定的路由上连接,因此所有其他HTTP连接都可以轻松分离出来,并作为常规Web请求由Web服务器处理。