【问题标题】:How does Spring mange websocket connections to RabbitMQ?Spring 如何管理与 RabbitMQ 的 websocket 连接?
【发布时间】:2014-07-10 08:24:53
【问题描述】:

我有一个使用 websocket 进行实时多人游戏的游戏服务器。这是一个 Spring 4 应用程序,我使用 RabbitMQ 作为我的代理。这是我的配置:

<websocket:message-broker application-destination-prefix="/app">
    <websocket:stomp-endpoint path="/portfolio">
        <websocket:sockjs/>
    </websocket:stomp-endpoint>
    <websocket:simple-broker prefix="/queue, /topic"/>
</websocket:message-broker>

从一个包含 4 个客户端的非常小的测试中,我看到 Rabbit 上打开了 4 个连接。

是否每个使用 websocket 连接到我的服务器的客户端最终都会打开与代理 (RabbitMQ) 的新连接?这个可以配置吗?

【问题讨论】:

    标签: spring rabbitmq spring-websocket


    【解决方案1】:

    是的,每个 websocket 客户端都有自己的到代理的 TCP 连接。该文档有一个connections to the broker 部分(强调我的):

    STOMP 代理中继维护与代理的单个“系统”TCP 连接。此连接仅用于来自服务器端应用程序的消息,而不用于接收消息。 [...]

    STOMP 代理中继还为每个连接的 WebSocket 客户端创建单独的 TCP 连接。 [...]

    我不知道这是否可以配置,我对 Spring 的这一部分不是很熟悉,但我认为应该可以; Spring 可以扩展。我的建议是在spring-websocket-portfolio 项目上发布问题并询问具体情况。

    编辑: OP 在 spring-websocket-portfolio 项目中打开了以下 issue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      相关资源
      最近更新 更多