带有nodejs和Symfony 2的Websockets

我正在运行一个实时Web应用程序,在后端使用Symfony 2 PHP框架。 我想实现我的实时交互的websockets。 是否可以在我的Symfony 2服务器所在的机器上安装node.js服务器来处理websocket连接? 如果是这样,打开另一个端口(比如81)来处理websocket连接是否是标准的?

对的,这是可能的。 为什么不? 这只是另一个应用程序。

至于第二个问题。 你可以打开另一个端口,这很容易处理(WebSocket不受限于交叉源策略),但是你可能会丢失一些数据(cookies),或者你可以把一个代理发送HTTP请求到Web服务器和WS请求到Node.JS服务器。 后者可以通过具有特殊的头部Upgrade: websocket来识别。 无论哪种方式WebSocket服务器必须监听不同的端口(除非你是完全在Node.JS中开发应用程序)。