A ideia por trás disso é garantir que você não receba pacotes direcionados para o programa anterior escutando nessa porta. Esse estado TIME_WAIT
é definido em RFC793 como duas vezes a vida útil máxima do segmento.
Eu não sei sobre outros Sistemas Operacionais, mas presumo que todos eles tenham algum tipo de comportamento similar.
Uma solução alternativa para esse problema é definir SO_REUSEADDR
no soquete que deve ignorar o estado TIME_WAIT
.