3

私は、さまざまなネイティブ JavaScript クライアントが接続するnetty Web ソケット サーバーを実行しています。ここで私がやりたいことは、クライアントからデータの要求を取得し、各クライアントが要求した内容に従ってデータを返すことです。実際にはclass A、リクエストに応じてクライアントに継続的なデータを非同期で送信する必要がある (つまり、単純なリクエスト応答モデルではない) があります。

問題は、クラス A で、送信する必要があるすべてのデータを持っていますが、どのデータをどのクライアントに送信する必要があるかを把握する方法です (クライアントの要求に従っている必要があります)。 client requests 、クラス A から送信されるデータ、およびクラス A からデータを送信する必要があるチャネル (すべてのチャネルを a に保存しますshared ChannelGroup)。

4

1 に答える 1

4

これを試してみてください。

  1. インスタンスDefaultChannelGroup :DefaultChannelGroup myChannels = new DefaultChannelGroup("myChannels")

  2. Web ソケット接続が確立されたら、それをチャネル グループに追加します。myChannels.add()

  3. チャンネル ID とリクエスト ID をハッシュマップに追加します

  4. 書き込むデータがある場合は、リクエスト ID があると仮定します。これを使用して、ハッシュマップでチャンネル ID を検索します

  5. 次に、チャネル グループからチャネルを取得します。myCahnnels.find(channelId)

  6. 最後に、データをチャネルに書き込みます。

お役に立てれば。

于 2012-07-22T05:00:33.503 に答える