В этом контексте важно понять, почему ядро имеет состояние TIME_WAIT
для соединений TCP. Это состояние предназначено для того, чтобы позволить любым пакетам, связанным с соединением (, которые могли идти по более длинным маршрутам или иным образом задерживаться ), уходить из сети, прежде чем можно будет установить новое соединение на том же порту. Таким образом, вы гарантируете, что новое соединение не получит никаких пакетов, связанных со старым соединением. Параметр reuseaddr
позволяет разработчику сообщить «не выполнять это ожидание».
Сокеты домена Unix не имеют такой проблемы; reuseaddr
не имеет смысла в этом контексте.