私のJavaアプリケーションは、メッセージ(マルチスレッド)をソケットサーバーに送信する必要があります。アプリケーションは、1秒間に約100〜200のメッセージを送信できます。
これを行うためのより良いアプローチはどれか知りたいですか?
- 単一のクライアントソケットを開き、この1つのソケットを介してすべてのスレッドからメッセージを送信します。 短所:接続障害時に再接続ロジックを処理する必要があり、再接続の進行中に多くのメッセージが失われる可能性があります。スレッドセーフ、ブロッキング??
- スレッドごとに新しいクライアントソケット接続を作成し、送信後に閉じます。 短所:ソケットを閉じても、ポートはTIME_WAIT期間まで待機します。
どちらがより実用的なアプローチですか?