Sockets en Python
La utilización de sockets es una tema bastante complejo para los que apenas se inician en la programación o para los que apenas entienden su funcionamiento sin una forma práctica de poder visualizarlo. Hoy veremos como manejar los sockets en Python:
Código fuente del servidor
[highlight=python]import socket // importamos la libreria
s = socket.socket() // Creamos un objeto
s.bind((“localhost”, 9999)) // añadimos el host y el puerto
s.listen(1) // Para aceptar las conexiones entrantes
sc, addr = s.accept() // Accept para escuchar
while True:
recibido = sc.recv(1024)
if recibido == “quit”:
break
print “Recibido:”, recibido
sc.send(recibido)
print “adios”
sc.close()
s.close()[/highlight]
Bueno, he puesto algunos comentarios en el código leanlos para entender mejor esto, luego de eso seguimos con otra cosa primordial que es aceptar los datos entrantes:
[highlight=python]while True:
recibido = sc.recv(1024)
if recibido == “quit”:
break[/highlight]
Con ese código recibiremos los datos y si el dato enviado es "quit" se cierra la conexión. Ahora vamos con el cliente:
[highlight=python]import socket
s = socket.socket()
s.connect((“localhost”, 9999))
while True:
mensaje = raw_input(“> “)
s.send(mensaje)
mensaje == “quit”:
break
print “adios”
s.close()
[/highlight]
En el clienete programaremos la parte en la que el usuario puede enviar un mensaje, pero primero como ya hemos hecho anteriormente importamos librerías y añadimos los datos de conexión y creamos un objeto socket.
[highlight=python]import socket
s = socket.socket()
s.connect((“localhost”, 9999)) [/highlight]
Luego en el bucle añadimos una sentencia para que el usuario pueda insertar un texto y enviarlo al servidor:
[highlight=python]while True:
mensaje = raw_input(“> “)
s.send(mensaje)
mensaje == “quit”:
break[/highlight]
Si la palabra es "quit" se cierra la conexión. Entonces como hemos podido ver los sockets en Python son una buena alternativa para empezar a aprender y entender como funcionan.




LinkBack URL
About LinkBacks
