TCP (Transmission Control Protocol) y UDP (User Datagram Protocol) son dos protocolos de comunicación que operan en la capa de transporte del modelo OSI y TCP/IP.
Característica | TCP | UDP |
---|---|---|
Conexión | Orientado a conexión | Sin conexión |
Fiabilidad | Garantiza la entrega de datos | No garantiza la entrega |
Velocidad | Más lento (por control de errores) | Más rápido |
Uso | Web, correo, transferencia de archivos | Streaming, VoIP, juegos en línea |
Un socket es un punto de comunicación entre dos dispositivos en una red. Se define por una dirección IP y un número de puerto.
Ejemplo de socket: 192.168.1.100:8080
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("127.0.0.1", 12345))
server.listen(1)
print("Esperando conexión...")
conn, addr = server.accept()
print(f"Conectado con {addr}")
conn.sendall(b"Hola, cliente!")
conn.close()
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("127.0.0.1", 12345))
mensaje = client.recv(1024)
print("Servidor dice:", mensaje.decode())
client.close()
TCP es más seguro y fiable, mientras que UDP es más rápido y eficiente para ciertos usos. Los sockets permiten la comunicación entre dispositivos a través de redes.