2

リアルタイム マルチプレイヤー用に 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) への新しい接続を開きますか? これは構成できますか?

4

1 に答える 1

2

はい、各 WebSocket クライアントは、ブローカーへの独自の TCP 接続を取得します。ドキュメントには、ブローカーへの接続に関するセクションがあります(強調は私のものです)。

STOMP ブローカー リレーは、ブローカーへの単一の「システム」TCP 接続を維持します。この接続は、サーバー側アプリケーションから発信されたメッセージのみに使用され、メッセージの受信には使用されません。[...]

STOMP ブローカー リレーは、接続されているすべての WebSocket クライアントに対して個別の TCP 接続も作成します。[ ... ]

これが構成できるかどうかはわかりませんが、Spring のこの部分についてはあまり詳しくありませんが、そうあるべきだと思います。春は延長可能です。私の提案は、spring-websocket-portfolioプロジェクトに問題を投稿し、詳細を尋ねることです。

EDIT : OPは spring-websocket-portfolio プロジェクトで次の問題を開きました。

于 2014-07-18T20:03:33.793 に答える