[windows] SO_REUSEADDR

TIME_WAIT 된 소켓 재활용하는 옵션… 다아는 것 아님? 이럴 수도 있다.

윈도우즈에서 이 소켓 옵션을 사용하면, 프로세스를 띄울 때 이미 포트가 다른 프로세스에 바인드되어 있더라도 바인드 에러 없이 잘뜬다.-.,-

MS 설명에 따르면 대략 undefined behavior 인 듯 1

윈도우즈에서는 SO_EXCLUSIVEADDRUSE 를 쓰라고 한다. 이쪽 저쪽 다 되게 하려다 보니 귀찮은 일이 많네.

참고 링크
Differences Between Windows and Unix Non-Blocking Sockets
Winsock: strange conflict with SO_REUSEADDR
Why is SO_REUSEADDR disabled for Windows?
SO_REUSEADDR, SO_EXCLUSIVEADDRUSE
SO_REUSEADDR doesn’t have the same semantics on Windows as on Unix