どの時点で java.net から java.nio に切り替えるのがよいでしょうか? .net (Microsoft エンティティではない) は理解しやすく親しみやすいのに対し、nio はスケーラブルであり、いくつかの気の利いた機能を備えています。
具体的には、この状況に対して選択を行う必要があります。複数のリモート サイトでハードウェアを管理する 1 つのコントロール センターがあります (各サイトには、複数のハードウェア ユニット (トランシーバ、TNC、およびローテータ) を管理する 1 台のコンピュータがあります)。私のアイデアは、コントロール センターから無線ハードウェアへのゲートウェイとして機能するサーバー アプリを各マシンに作成し、各ユニットに 1 つのソケットを用意することでした。私の理解では、NIO は 1 つのサーバー、多数のクライアントを対象としていますが、私が考えているのは 1 つのクライアント、多数のサーバーです。
3 番目のオプションは MINA を使用することだと思いますが、それが単純な問題を投げかけすぎているかどうかはわかりません。
各リモート サーバーには、すべて同じクライアントからの最大 8 つの接続があります (すべてのハードウェアを制御し、TX/RX ソケットを分離するため)。ただし、単一のクライアントは一度に複数のサーバーに接続する必要があります。各サーバーを異なるポートに配置する代わりに、クライアント側でチャネルセレクターを使用することは可能ですか、それともクライアント側でマルチスレッド io を使用してサーバーを別の方法で構成する方がよいでしょうか?
実際、リモート マシンは他のハードウェアと対話するためだけに機能するため、RMI または IDL/CORBA のほうが優れたソリューションでしょうか? 本当に、コマンドを送信してハードウェアからテレメトリを受信できるようにしたいだけで、アプリケーション層プロトコルを作成する必要はありません。