1つのスレッドを使用してクライアントからデータを読み取り、別のスレッドを使用してクライアントにデータを書き込むNIOServerを作成したいと思います。また、クライアント接続の受け入れは他のスレッドで行われます。
オンラインヘルプはありますか
ありがとうDeepak
1つのスレッドを使用してクライアントからデータを読み取り、別のスレッドを使用してクライアントにデータを書き込むNIOServerを作成したいと思います。また、クライアント接続の受け入れは他のスレッドで行われます。
オンラインヘルプはありますか
ありがとうDeepak
セレクターと単一のスレッドを使用してすべてを簡単に実行できるのに、なぜこれほど多くのスレッドを使用するのでしょうか。ネットI/Oへのマルチスレッドアプローチが必要な場合は、昔ながらのブロッキングソケットを検討する必要があります。
ところで、3つのセレクターですべてを行うことができます。1つは接続を受け入れ、1つは読み取り、もう1つは書き込みです。接続を受け入れると、適切なインタレスト操作を使用して、チャネルを他の2つのセレクターに登録できます。
もちろん、チャネルを解放する必要がある場合は、両方のセレクター(読み取りと書き込み)からSelectionKeyをキャンセルするか、チャネルを閉じる必要があります。
sample/nio/server の下にある JDK のサンプル コードを確認することをお勧めします。
Apache Minaをお勧めします。非常に柔軟で、高レベルの抽象化、高性能などです。