В WinSock2.h неверный сокет и ошибка сокета определяются следующим образом? Есть ли в этом какое-то значение?
#define INVALID_SOCKET (SOCKET)(~0) #define SOCKET_ERROR (-1)