Ошибка WSAEADDRINUSE при использовании сокета возникает, если приложение пытается привязать сокет к IP-адресу или порту, которые уже использовались для существующего сокета. 13
Также ошибка может появиться, если сокет не был закрыт должным образом или всё ещё находится в процессе закрытия. 1
Ещё одна возможная причина — использование подстановочных знаков (ADDR_ANY) при вызове привязки. 1 В этом случае ошибка может быть отложена до фиксации определённого адреса, что произойдёт при вызове другой функции позже, например подключения, прослушивания, WSAConnect или WSAJoinLeaf. 1
Для решения проблемы для серверных приложений, которым необходимо привязать несколько сокетов к одному номеру порта, можно использовать опцию setsockopt (SO_REUSEADDR). 13