¿Cómo implementar la programación de redes de sockets en lenguaje C en Windows? ¿Qué archivos de encabezado o bibliotecas se necesitan?
Los archivos de encabezado requeridos incluyen:
#include lt; winsock2.hgt;?
#include windows.hgt;
En comparación con la programación de sockets en el entorno Linux, el entorno Windows tiene un paso más: iniciar o inicializar la biblioteca winsock
Winsock, una API estándar, una interfaz de programación de red, se utiliza para dos o más comunicaciones de datos. entre aplicaciones (o procesos) a través de la red. Disponible en dos versiones:
Winsock 1:
Soporte de plataforma Windows CE.
Archivo de encabezado: WinSock.h
Biblioteca: wsock32.lib
Winsock 2:
Algunas plataformas como Windows CE no parecen apoyarlo. Se puede distinguir de la versión Winsock 1 por el prefijo WSA. Funciones individuales como WSAStartup, WSACleanup, WSARecvEx y WSAGetLastError son todas funciones de la especificación Winsock 1.1;
Archivo de encabezado: WinSock2.h
Biblioteca: ws2_32.lib
mswsock.h se utiliza para la expansión de la programación. Al usarlo, se debe vincular mswsock.dll
Información de la extensión
Carga y descarga de la biblioteca winsock:
Cargando: int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData);
La carga se realizó correctamente, el valor de retorno es 0.
WORD wVersionRequested: la versión de winsock cargada, use la macro MAKEWORD (x, y), x representa el byte alto, y representa el byte bajo. Sin embargo, cuando se utiliza MAKEWORD(2, 2). El byte alto es el mismo que el byte bajo ~~
LPWSADATA lpWSAData: el puntero de la estructura WSADATA Después de pasar los parámetros, el sistema nos ayuda a completar la información de la versión. Si está interesado, puede echar un vistazo al contenido de la estructura, pero básicamente no es necesario.
Descarga: int WSACleanup(void); En comparación con la carga, la función de descarga es realmente fácil y agradable.