【发布时间】:2015-06-18 17:14:39
【问题描述】:
我需要一个服务器来接受来自 websocket 和 socket.io 客户端的连接,这可能吗?当我只运行 socket.io 时,socket.io 客户端也可以正常工作,但标准 websocket 客户端无法连接。另一方面,当我在 socket.io 旁边运行 websocket 服务器时,websocket 运行良好,但在尝试通过 socket.io 连接的浏览器中,我看到错误 WebSocket connection to ... failed: Invalid frame header。是否可以让两个连接在单个服务器实例上工作?
我正在使用 express.io 和 websocket-node,如果它只与 express.oi 一起使用会很棒。
【问题讨论】:
-
为什么需要这样做? socket.io 是 webSocket 之上的附加协议,因此您不能使用相同的服务器端代码来监听普通 webSocket 和 socket.io 连接。将两个连接中的一个放在不同的端口上并为每个连接使用不同的处理程序是最简单的,让每个连接的标准库处理它们的构建目标。
标签: node.js websocket socket.io