助けてください、
最初に、ソケットを作成し、SO_REUSEADDR なしでアドレスにバインドしました。
次に、プログラムがクラッシュしました(ソケットを適切に閉じていません)
次に、再度実行すると、bind() から「アドレスは既に使用されています」が返されます。
SO_REUSEADDR を使用するようにソース コードを変更しようとしましたが、使用できません。
今、再度 bind を実行できませんでした (サーバーを再起動できません)
セッションがタイムアウトするまで待つだけで、完全に削除されます。
セッションが「汚い」方法でシャットダウンすると、そのアドレスを再度再利用することはできません (SO_REUSEADDR を使用していないと仮定して) セグメントの最大有効期間の 2 倍 - 通常、これは通常のネットワーク ハードウェアでは約 4 分ですが、実際には状況によって異なります。媒体の特性について (例えば、サテライトはより大きな MSL を持つ場合があります)。
これは、まだ遷移中のパケットが到着せず、新しいセッションでのシーケンスが台無しにならないようにするためです。