Creación de un paquete TCP / IP es importante cuando se desea que el programa de C para hacer una conexión activa con un host remoto para enviar datos de un lado a otro. TCP / IP es un protocolo de red que proporciona la entrega fiable y ordenada de paquetes entre dos hosts. Todas las aplicaciones de transferencia de web, correo electrónico y archivos mundiales utilizan el protocolo TCP / IP. Crear un paquete TCP / IP mediante la recopilación de datos acerca de un huésped, haciendo una toma de esos datos y luego enviar el socket con el host remoto.
Abra el archivo C en un editor como VC + +.
Agregar la biblioteca Winsock a la configuración del proyecto de su compilador para que enlazará correctamente. En VC + + esto se hace clic en el menú "Proyecto", clic en "Configuración ...", haciendo clic en "Link" y escribiendo "ws2_32.lib" en el cuadro titulado "módulos de objeto / biblioteca." Otros nombres posibles para la biblioteca Winsock incluyen "winsock32.lib" y "wsock32.lib."
Incluya la encabezados "ws3tcpip" "winsock2" y para acceder a las funciones socket, añadiendo el siguiente código al principio del archivo:
# Include winsock2.h
# Include ws2tcpip.h
Declarar las variables necesarias para crear un paquete TCP / IP, añadiendo el siguiente código en su función:
struct consejos addrinfo, * res;
int socket_descriptor;
Las estructuras "addrinfo" almacenará el valor de retorno de la función "getaddrinfo". El "socket_descriptor" es el descriptor entero que la función "socket" volverá.
Inicialice las variables añadiendo el siguiente código:
memset (consejos sizeof);
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
El valor "AF_UNSPEC" especifica que la familia de direcciones para la función "getaddrinfo" puede ser cualquier tipo válido, como IPv4 o IPv6. El "SOCK_STREAM" indica un socket de flujo TCP.
Llame a la función "getaddrinfo" agregando el siguiente código:
getaddrinfo ("www.server.com", "3490", s);
Reemplazar "www.server.com" con el servidor al que desea conectarse. Sustituya "3490", con el puerto que va a conectar. La función "getaddrinfo" recoge el protocolo independiente de información sobre la dirección de su nombre de host, que vuelve en las estructuras "addrinfo".
Crear un socket TCP / IP con la función de "enchufe", añadiendo el siguiente código:
socket_descriptor = socket (res-ai_family, res-ai_socktype, res-ai_protocol);
La función "socket" utiliza la información que se devuelve desde la función "getaddrinfo" para crear una toma completa.
Conectar con el servidor remoto con la función de "conectar" con el código siguiente:
connect (socket_descriptor, res-ai_addr, res-ai_addrlen);
La función "conectar" toma su zócalo, lo envía a la dirección especificada y crea una conexión activa con el host.
Guarde el archivo, compilar y ejecutar el programa para crear el paquete TCP / IP.
No hay comentarios:
Publicar un comentario