Red de conocimiento informático - Material del sitio web - ¿Cómo implementar la programación de redes de sockets en lenguaje C en Windows? ¿Qué archivos de encabezado o bibliotecas se necesitan?

¿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.