SO_REUSEADDR通常、echo サーバーなんかを自作すると、クライアント・サーバーのどちらから close された Socket は TIME-WAIT に状態になり MSL (Max Segment Length) の時間待機します。 こうなってしまうと、再度同じ Host, Port で Socket を作成しようとすると、エラーになってしまいます。そこで、Socket の設定で SO_REUSEADDR をセットしておけば、TIME-WAIT 状態の Socket が残っていても、再度 Socket が作成できるようになります。 SO_REUSEPORT実装された時期は、Linux だと Kernel 3.9 以降のようです。上記の SO_REUSEADDR と用途としては同じように使えるのですが、 UDP などでは再利用以外の効果を期待できるようですが、あまり理解できなかっ
![hanhan's blog - SO_REUSEADDR についてのメモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/489431674d60add50bfd4cbb112a7e79f00c2af4/height=288;version=1;width=512/https%3A%2F%2Fblog.hanhans.net%2Fimages%2Ficon400.jpg)