1

1つのスレッドを使用してクライアントからデータを読み取り、別のスレッドを使用してクライアントにデータを書き込むNIOServerを作成したいと思います。また、クライアント接続の受け入れは他のスレッドで行われます。

オンラインヘルプはありますか

ありがとうDeepak

4

3 に答える 3

1

セレクターと単一のスレッドを使用してすべてを簡単に実行できるのに、なぜこれほど多くのスレッドを使用するのでしょうか。ネットI/Oへのマルチスレッドアプローチが必要な場合は、昔ながらのブロッキングソケットを検討する必要があります。

ところで、3つのセレクターですべてを行うことができます。1つは接続を受け入れ、1つは読み取り、もう1つは書き込みです。接続を受け入れると、適切なインタレスト操作を使用して、チャネルを他の2つのセレクターに登録できます。

もちろん、チャネルを解放する必要がある場合は、両方のセレクター(読み取りと書き込み)からSelectionKeyをキャンセルするか、チャネルを閉じる必要があります。

于 2009-05-23T09:31:47.337 に答える
0

sample/nio/server の下にある JDK のサンプル コードを確認することをお勧めします。

于 2009-05-23T10:32:05.780 に答える
0

Apache Minaをお勧めします。非常に柔軟で、高レベルの抽象化、高性能などです。

于 2009-05-23T16:51:09.320 に答える