- 2007/09/03 Mon
-
続々々・SO_EXCLUSIVEADDRUSE。
そもそもオプションなしだとどうなるのんとテストコードを走らせる。LISTEN
LISTEN
ESTABLISHED
ESTABLISHED
FIN_WAIT_2
CLOSE_WAIT
TIME_WAIT
Windows No options WSAEADDRINUSE WSAEADDRINUSE 0 0 SO_REUSEADDR 0 0 0 0 SO_EXCLUSIVEADDRUSE WSAEADDRINUSE WSAEADDRINUSE WSAEADDRINUSE 0 Linux No options EADDRINUSE EADDRINUSE EADDRINUSE EADDRINUSE SO_REUSEADDR EADDRINUSE EADDRINUSE 0 0
はい?
オプションなしがLinuxのSO_REUSEADDR指定と同じ動作のような。
WinsockのTIPSでTIME_WAIT対策にSO_REUSEADDRが挙げられているのはなんなんだ。Windowsのバージョンで挙動が違うとかか。
そういえば、NT4.0 SP4でSO_EXCLUSIVEADDRUSEが追加されているので、そのあたりで挙動が変わっているような気がしなくもなくもない。
むー。