Address already in use.
Typically, only one usage of each socket
address (protocol/IP address/port) is permitted. This error occurs if
an application attempts to bind a socket to an IP address/port that
has already been used for an existing socket, or a socket that was not
closed properly, or one that is still in the process of closing. For
server applications that need to bind multiple sockets to the same
port number, consider using setsockopt (SO_REUSEADDR). Client
applications usually need not call bind at all—connect chooses an
unused port automatically. When bind is called with a wildcard address
(involving ADDR_ANY), a WSAEADDRINUSE error could be delayed until the
specific address is committed. This could happen with a call to
another function later, including connect, listen, WSAConnect, or
WSAJoinLeaf.