編集:tl;dr:
間違ったオプションでソケットを開かないでください。うまくいかないでしょう!
元の質問:
クリーンなシャットダウンメカニズムを持たないプログラムを使用しています。終了するには、強制終了する必要があります。
次のようにソケットを開きます。
(void) setsockopt(h, SOL_SOCKET, (SO_KEEPALIVE | SO_REUSEADDR), (int *) & optval, sizeof( optval ));
再利用アドレス オプションは、プログラムが停止した後に最終的にソケットが解放されるという点で機能しているようです。最終的には、数秒から数分程度になります。
このプログラムを定期的に再起動する必要があるため、これは非常に面倒です。プログラムを適切に終了させることは非常に大きな仕事ですが、ソケットを早期に解放するためにローカルでできることはあるのでしょうか?