Download Ayudantía de EC: Sockets
Document related concepts
no text concepts found
Transcript
AYUDANTÍA DE EC: SOCKETS Profesor: Paul Leger Ayudante: Joaquín Romero ¿QUE ES UN SOCKET? UNA EXPLICACIÓN SIMPLE Un socket es un mecanismo por el cual se pueden comunicar distintos computadores. Para comunicarse debe haber un cliente (envía datos) y un servidor (recibe datos y puede regresar datos al cliente) EJEMPLO DE SOCKET EN PYTHON Para crear un socket en Python debemos utilizar el siguiente código: import socket #for sockets s = socket.socket() #Create the socket print 'Socket Created' s.close() #Close the socket EJEMPLO DE SOCKET EN PYTHON Podemos usar el socket para obtener la ip de un host con el siguiente código: import socket #for sockets s = socket.socket() print 'Socket Created' host = 'www.google.com' remote_ip = socket.gethostbyname( host ) print 'Ip address of ' + host + ' is ' + remote_ip s.close() Implemente este código para alguna pagina web que Ud. desee EJEMPLO DE SOCKET EN PYTHON Con socket en Python podemos crear un servidor y cliente para intercambiar mensajes como en un Chat! Servidor import socket s = socket.socket() host = "127.0.0.1" port = 1111 s.bind((host, port)) print "Bienvenido al Chat en: " + str(host) s.listen(5)c, addr = s.accept() while True: data = str(c.recv(1024)) print data if data == "exit": c.close() Cliente import socket s = socket.socket() host = str(raw_input("Ingrese la direccion a la que desea conectarse: ")) port = 1111 s.connect((host, port)) while True: texto = str(raw_input(" :")) s.send (texto) if texto == "exit": break s.close() EJERCICIOS 1) Con el comando telnet en Linux uno se puede comunicar a un host a través de $ telnet [hostname] [port] Modifique el código del servidor para que a través de telnet le retorne el mensaje enviado junto con “recibido!” (ejemplo “ hola…recibido!” ). Considere las funciones de socket 2) Cree un programa que sea cliente y servidor a la vez. A través de hilos como procesos pesados