4

mina ソケットと jetty websocket を備えたキャメル ルートがいくつかあります。Websocket に接続されているすべてのクライアントにメッセージをブロードキャストできますが、特定のエンドポイントにメッセージを送信するにはどうすればよいですか。特定のクライアントにルーティングできるように、参照としてクライアント ID を使用して、接続されているすべてのクライアントのリストを維持するにはどうすればよいですか。それは可能ですか?to URI で動的クライアントに言及することはできますか?

または、私はこれについて間違っていると考えており、アクティブな mq でトピックを作成し、クライアントにサブスクライブさせる必要があります。それは、すべての websocket クライアントに対してトピックを作成することを意味しますか? メッセージを適切なトピックにルーティングします。

私は少なくともここで正しい軌道に乗っていますか?あなたが指摘できる例はありますか? Google は役に立ちませんでした。

4

2 に答える 2

0

クライアントごとに個別のエンドポイントを作成したくないことは間違いありません。トピックとセレクターを使用したサブスクリプションは、それを解決するエレガントな方法です。私は最高のものと言うでしょう。

すべてのクライアントが次のようなセレクターでサブスクライブする単一のトピックが必要ですwhere clientId in ('${myClientId}', 'EVERYONE')。特定のクライアントにメッセージを発行する場合は、プロパティ clientId をこのクライアントの ID に設定します。ブロードキャストしたい場合は、「EVERYONE」に設定します

問題を正しく理解していることを願っています...

于 2013-05-30T09:14:27.443 に答える