2, 4, 4 Resumen y pensamientos del experimento El uso de funciones de socket de Windows requiere operaciones de inicialización y liberación.
#include "winsock.h"/ /consulte el archivo de encabezado
# pragma comment(lib, "ws2_32.lib") //vincule el archivo de la biblioteca
Además, debe inicializar el socket antes de usarlo funciones de biblioteca word, esto se puede lograr usando la función WSAStartup(), por ejemplo
WSADATA wsd //Definir el objeto WSADATA
WSAStartup(MAKEWORD(2,2), &wsd); // Inicializa el socket
Las siguientes funciones de socket
1: Función WSAStartup: se utiliza para inicializar la biblioteca de enlaces dinámicos, indispensable
int WSAStartup( WORD wVersionRequested, LPWSADATA lpWDADATA)
//Consulte las líneas anteriores para conocer el uso
2: función de socket: se utiliza para crear sockets
SOCKET socket(int af, tipo int, protocolo int)
Af: representa una serie de direcciones, generalmente AF_INET
Tipo: representa el tipo de socket, SOCK_STREAM: crea un socket de transmisión orientado a conexión SOCK_DGRAM: indica; la creación de un socket sin conexión orientado a datagramas, SOCK_RAW: indica SOCK_RAW: crea un socket sin formato
Protocolo: indica el protocolo que se utilizará, si no se especifica, se puede establecer en 0
El valor de retorno de la función es el identificador del socket creado.
3: función de enlace: se utiliza para vincular el socket al puerto y la dirección especificados
int bind(SOCKET s,const struct sockadddr FAR * name, int namelen)
s: representa el indicador del socket
nombre: es un puntero de estructura sockaddr, que incluye puerto y dirección
namelen: determina la longitud del búfer de nombres
Valor de retorno: 0 indica éxito; SOCKET_ERROR indica falla
4: función de escucha: se utiliza para configurar el socket en modo de escucha. Para sockets de streaming, este modo debe ser
Int listening(SOCKET s, int backlog)
Backlog: Indica la longitud máxima de la cola en espera de conexiones
5: función de aceptación: se utiliza para recibir enlaces de clientes
SOCKET aceptar (SOCKET s, struct sockaddr FAR *addr, int FAR * addlen)
S: indicador de socket, debe estar en el estado de escucha
addr: contiene un conjunto de información de dirección y puerto del cliente
addlen: se utiliza para recibir la longitud del parámetro addr
Valor de retorno: y A nuevo socket correspondiente a una conexión de cliente aceptada, que debe usarse para todas las operaciones posteriores de ese cliente.
6: Función closesocket: cierra el enchufe.
int closesocket(SOCKET s);
7: función de conexión: se utiliza para enviar solicitudes continuas
int connect(SOCKET s, const struct sockaddr FAR * name, int namelen)
nombre: indica la dirección y el número de puerto del host al que se conectará el socket
namelen: indica la longitud del búfer
Devuelve 0 en caso de éxito, de lo contrario, devuelve SOCKET_ERROR.
8: función recv: se utiliza para recibir datos de sockets orientados a conexión
int recv(SOCKET s, char FAR *buf,int len, int flags )
buf: búfer utilizado para recibir datos
len: longitud de buf
indicadores indica el método de llamada de función MSG_PEEK: indica visualización de los datos entrantes, MSG_OOB significa procesamiento datos salientes
9: función de envío: se utiliza para enviar datos entre sockets en modo orientado a conexión
int send(SOCKET s, const char FAR * buf, int len, int flags)
buf representa el tamaño del buffer para enviar datos
Cómo se llama la función flags
10: Función Seleccionar: Se utiliza para verificar si uno o más sockets están en estado de lectura, escritura o error
Int select(int nfds,fd_set FAR * readfds,fd_set FAR * writefds,fd_set FAR * exceptfds,const struct timeval FAR * timeout)
nfds: sin sentido
readfds representa un conjunto de sockets legibles
writefds representa un conjunto de sockets grabables
p>exceptfds representa un conjunto de sockets con verificación de errores
exceptfds representa un conjunto de sockets con verificación de errores
nfds: sin sentido
readfds representa la colección de sockets que se han verificado en busca de errores
el tiempo de espera representa el tiempo de espera de la función
11: Función WSACleanup: se utiliza para liberar la asignación de los recursos de la biblioteca de vínculos dinámicos Ws2_32.dll de inicialización
Int WSACleanup(void) p>