TCPポートを「オフ」にする方法は?

TCPポートを「オフ」にする方法は?

特定のTCPポートをリッスンするコードがあります。ただし、このコードを停止してすぐに再起動するとエラーが表示されます。

ERROR: could not bind to socket on 0.0.0.0:7700

1分待つと、突然ポートが「使用可能」になり、コードが再実行されます。

私の質問:この特定のポートを強制的に「アイドル」状態にする方法はありますか? 1分ほど待たずにすぐにコードを起動できますか?

ベストアンサー1

あなたはそれを使用することができますSO_REUSEADDR

int optval = 1;
/* create socket using socket */
setsockopt(s1, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof optval);
/* bind socket */

このエラーは、TCPプロトコルがサーバーが閉じたばかりのソケットTIME_WAITnet.ipv4.tcp_fin_timeout。これは、サーバーがソケットを閉じた後でも他のピアが送信できるすべてのパケットがまだ正しく処理されるようにするためです。

このスレッドの最良の答えで問題の良い説明は次のとおりです。SO_REUSEADDR(setsockoptオプション)とはどういう意味ですか - Linux?

おすすめ記事