Programación de Socket TCP
En UDP, el cliente no forma una conexión con el servidor como en TCP y solo envía un datagrama. Del mismo modo, el servidor no necesita aceptar una conexión y solo espera a que lleguen los datagramas. Los datagramas a la llegada contienen la dirección del remitente que el servidor utiliza para enviar datos al cliente correcto.
Figura. Diagrama TCP Cliente/Servidor
Antes de comenzar con el desarrollo de un Socket TCP y UDP debemos aclarar el funcionamiento de los mismos; Los sockets son una forma de comunicación entre procesos que se encuentran en diferentes máquinas de una red, los sockets proporcionan un punto de comunicación por el cual se puede enviar o recibir información entre procesos.
Los sockets tienen un ciclo de vida dependiendo si son sockets de servidor, que esperan a un cliente para establecer una comunicación, o socket cliente que busca a un socket de servidor para establecer la comunicación.
Este script mostrado a continuación realiza la conexión por medio del protocolo TCP a un puerto especifico de un host, en nuestro caso realizaremos la conexión a la web de Security Hack Labs por medio del puerto 80, normalmente en este puerto los servidores HTTP "escuchan" las peticiones de los clientes(nosotros), y realizaremos una petición GET del protocolo HTTP.