ローカルホストでソケットのオープンをテストするために、Java ライブラリの 1 つに次のロジックが表示されます。
ServerSocket socket = new ServerSocket(port);
socket.close();
私の質問は、データ パケットが送信されておらず、ソケットを開いた直後にソケットが閉じられた場合、このソケットは localhost で TIME_WAIT 状態になるのでしょうか? このような場合、アプリケーションが同じポートにバインドしようとすると、2MSL 値内で実行すると「アドレスは既に使用中のエラー」を引き起こす可能性がありますか?
上記のような小さなテスト プログラムを作成しましたが、このプログラムを実行した Linux マシンで netstat または ss を実行すると、このポートの TIME_WAIT がまったく表示されません。ソケットがデータ パケットの送信に使用されていない場合でも、ステート マシンは適用されるべきではありませんか?