【问题标题】:Websockets with nodejs and Symfony 2带有 nodejs 和 Symfony 2 的 Websockets
【发布时间】:2012-06-26 07:44:58
【问题描述】:

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

【问题讨论】:

    标签: node.js symfony websocket


    【解决方案1】:

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

    关于第二个问题。您可以打开另一个易于处理的端口(WebSockets 不受跨域策略的限制),但您可能会丢失一些数据(cookie),或者您可以放置​​一个代理,它将 HTTP 请求发送到 Web 服务器并将 WS 请求发送到Node.JS 服务器。后者可以通过具有特殊标题Upgrade: websocket 来识别。无论哪种方式,WebSocket 服务器都必须监听不同的端口(除非您完全在 Node.JS 中开发应用程序)。

    【讨论】:

    • 第二点我不同意。 Websocket 是 Raw Tcp 而不是 HTTP,因此在使用真正的 websockets 时,您需要一个运行 node.js 的暴露端口
    • @mblaettermann 这不是真的。 Websocket 连接以普通的 HTTP 连接开始,然后升级为 TCP。此外,TCP 和 HTTP 都可以在同一个端口上处理(为什么不呢?)。人们不这样做的唯一原因是代码有点难以维护。
    猜你喜欢
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    相关资源
    最近更新 更多