Está en la página 1de 5

Laboratorio de Programación Avanzada

Ingeniería Biomédica

Laboratorio: Comunicación TCP/UDP con Python

ObjeCvo:

Aprender a u*lizar los protocolos TCP y UDP para la comunicación de datos en redes u*lizando
el lenguaje de programación Python..

Duración esCmada:

2 horas

Requisitos:

• Conocimientos básicos de programación en Python.


• Tener instalado Python en el sistema.

Instrucciones:

Parte 1: Introducción a TCP/UDP

• De una explicación sobre: TCP (Transmission Control Protocol) y UDP (User Datagram
Protocol).

• Mostrar un diagrama que ilustre la diferencia entre TCP y UDP, enfa*zando la fiabilidad
y el control de flujo en TCP, y la simplicidad y la velocidad en UDP.

Parte 2: Comunicación TCP con sockets:

• Explique el uso de la biblioteca socket de Python

Ejemplo:

Crear un servidor TCP que escuche conexiones entrantes:

pág. 1
Laboratorio de Programación Avanzada
Ingeniería Biomédica

Crear un cliente TCP que se conecte al servidor y envíe/reciba datos:

Crear un servidor UDP que escuche datagramas entrantes:

Crear un cliente UDP que envíe datagramas al servidor:

pág. 2
Laboratorio de Programación Avanzada
Ingeniería Biomédica

Parte 3: Ejercicio prác*co - Implementación de un chat simple

Implementar un chat básico u*lizando TCP o UDP. Los clientes deben poder enviar
mensajes al servidor, y el servidor debe retransmi*r esos mensajes a todos los clientes
conectados.

Código servidor UDP

Código cliente UDP

pág. 3
Laboratorio de Programación Avanzada
Ingeniería Biomédica

Código servidor TCP

Código cliente TCP

pág. 4
Laboratorio de Programación Avanzada
Ingeniería Biomédica

Parte 4: Pruebas y experimentación

Experimenta con el código y realicen mejoras adicionales, como agregar funcionalidades


de nombres de usuario, mensajes privados, etc.

Conclusiones

• En este laboratorio, hemos explorado y aprendido sobre los protocolos TCP


(Transmission Control Protocol) y UDP (User Datagram Protocol), y cómo u*lizarlos
para establecer una comunicación básica entre un servidor y múl*ples clientes en
Python.
• Hemos comprendido los conceptos fundamentales de TCP y UDP, incluyendo sus
diferencias y aplicaciones. TCP es un protocolo orientado a la conexión y confiable,
mientras que UDP es un protocolo sin conexión y no confiable, adecuado para
aplicaciones donde la velocidad y la simplicidad son prioritarias.
• Hemos implementado un servidor que acepta conexiones de clientes u*lizando TCP
o UDP, u*lizando el módulo socket de Python. Hemos aprendido a configurar el
servidor, enlazarlo a una dirección IP y un puerto, y ponerlo en modo de escucha para
aceptar conexiones entrantes.
• Hemos creado clientes que se conectan al servidor u*lizando TCP o UDP. Hemos
establecido la conexión con el servidor proporcionando la dirección IP y el puerto
correspondiente, y hemos enviado y recibido mensajes u*lizando los sockets de los
clientes.
• Durante el laboratorio, hemos experimentado con la comunicación TCP y UDP,
comprendiendo las ventajas y desventajas de cada uno en diferentes situaciones.
Hemos observado que TCP proporciona una comunicación confiable y garan*za la
entrega de datos en el orden correcto, mientras que UDP ofrece una comunicación
más rápida y eficiente, pero sin garanXa de entrega o orden de los datos.
• En conclusión, hemos adquirido conocimientos prác*cos sobre la comunicación
TCP/UDP con Python, lo cual nos permi*rá desarrollar aplicaciones de red más
complejas y robustas en el futuro. Comprender y dominar estos protocolos es
esencial para el desarrollo de sistemas distribuidos y aplicaciones de red en general.

pág. 5

También podría gustarte