Programación Wsrecv
En caso afirmativo, primero verifique si la conexión de red es normal y luego verifique si la IP es correcta.
Si no hay ningún problema con lo anterior, use WSAGetLastError() para obtener el código de error y mostrarlo en MessageBox().
Además, se descubrió que estás enviando y recibiendo datos de forma bloqueante. Es mejor colocar estos dos fragmentos de código en un hilo nuevo; de lo contrario, se atascará fácilmente.
Código de error adicional de WSAGetLastError():
WSAENOTINITIALISED: se debe realizar una llamada exitosa a WSAStartup() antes de usar esta API.
WSAENETDOWN: La implementación del socket WINDOWS para WINDOWS detectó una falla en el subsistema de red.
WSAEADDRINUSE: La dirección señalada ya está en uso.
WSAEINTR: Cancelar (bloqueada) llamada mediante WSACancelBlockingCall().
WSAEINPROGRESS: Se está ejecutando una llamada de socket de Windows WINDOWS bloqueada.
WSAEADDRNOTAVAIL: No se pudo encontrar la dirección especificada en la computadora local.
WSAENOTSUPPORT: Las direcciones de la serie de referencia no se pueden utilizar con este conjunto de interfaces.
WSAECONNREFUSED: El intento de conexión fue rechazado con fuerza.
WSAEDESTADDREQ: Dirección de destino requerida.
WSAEFAULT: El parámetro namelen es incorrecto.
WSAEINVAL: El socket de Windows no está listo para vincularse a la dirección.
WSAEISCONN: El enchufe de Windows está conectado.
WSAEMFILE: Sin descriptores de archivos redundantes.
WSAENETUNREACH: actualmente no se puede acceder a la red desde este host.
WSAENOBUFS: No hay buffer disponible. El enchufe de Windows no está conectado.
WSAENOTSOCK: El descriptor no es un socket de Windows.
WSAETIMEOUT: El tiempo de espera ha expirado.
WSAEWOULDBLOCK: El socket de Windows está configurado en modo sin bloqueo y la conexión no se puede establecer de inmediato. Puede usar una llamada select() para escribir en un socket de Windows porque la conexión se establecerá cuando la seleccione().
Espero que te ayude. ..