Java NIO を使用してサーバーを作成していますが、答えが見つからない質問がいくつかあります。
まず、SSLEngine についてNEED_TASK
ですが、セパレートスレッドで適切に扱うにはどうすればよいでしょうか。別のスレッドでタスクを呼び出すと、タスクは完了しますが、別のハンドシェイク操作を実行するために戻る方法がわかりません。1 つのオプションは、委任されたタスクを実行していたスレッドからその操作を呼び出すことですが、それはそれを行う方法ではないと思います。
別の質問はinterestOps()
、別のスレッドからの呼び出しと、セレクタ スレッドからの呼び出しに関するものです。チャネルへの書き込みを試みてもすべてのデータが書き込まれなかったので、重要な関心事項を変更する必要があります。ROX NIOチュートリアルのような変更のキューを使用することを考えましたが、ここの別のスレッドでそれが最善の方法ではないことを読みました.