Paul Leger http://pleger.cl SOCKETs Paul Leger http://pleger.cl
Cliente-servidor Cliente IP 1 Servidor IP 2 Solicita Información Notebook Servidor Web Servidor DNS Servidor de Base de Datos
Tres niveles Cliente IP 1 Servidor IP 2 Servidor IP 3 Solicita Información Notebook Servidor Web Servidor de Base de Datos Servidor IP 3 Servidor DNS
¿Cómo conversan? ¡USANDO PUERTOS! Cliente IP 1 Servidor IP 2 Solicita Información Notebook Servidor Web Servidor DNS Servidor de Base de Datos ¡USANDO PUERTOS! Conexión remota Juego en linea
Sockets Cliente IP 1 Servidor IP 2 Solicita Información Notebook Servidor Web (apache2: 80) Servidor DNS (Bind : 53) Servidor de Base de Datos (MySql: 3306) Conexión remota (ssh y scp: 22) Juego en linea (WOW: 3724, 1119) Conexión remota (ftp: 21)
Socket en Python #client #server Import socket import socket s = socket.socket() host = “127.0.0.1” port = 12345 s.connect((host, port)) print s.recv(2) s.close() #server import socket s = socket.socket() host = 127.0.0.1 port = 12345 s.bind((host, port)) s.listen(5) while True: c, addr = s.accept() print “Conectado con ”, addr c.send(“Gracias por su conexión”) c.close()
TAREA Un chat entre solamente dos computadores Al inicio, el programa debe pedir la IP con cual debe comunicarse Cuando se escribe “Adios”, el programa debe terminar