Servidor y Cliente TCP en Python

Vía mundogeek.net, llega otro excelente tutorial, esta vez acerca de Sockets en Python.

Mi aporte, un resumen del mismo, conformado de comentarios sobre los scripts de ejemplo de Servidor y Cliente:

[PYTHON]
#+———————————-+
#| Server TCP/IP |
#+———————————-+
import socket

#Creo el objeto socket
s = socket.socket()

#Invoco al metodo bind, pasando como parametro una tupla con IP y puerto
s.bind((“localhost”, 9999))

#Invoco el metodo listen para escuchar conexiones con el numero maximo de conexiones como parametro
s.listen(1)

#El metodo accept bloquea la ejecucion a la espera de conexiones
#accept devuelve un objeto socket y una tupla Ip y puerto
sc, addr = s.accept()
print “Recibo conexion de ” + str(addr[0]) + “:” + str(addr[1])

while True:

#invoco recv sobre el socket cliente, para recibir un maximo (segun parametro) de 1024 bytes
recibido = sc.recv(1024)
if recibido == “by”:
break
print “Recibido:”, recibido

#Envio la respuesta al socket cliente
sc.send(recibido)

print “adios”

#cierro sockets cliente y servidor
sc.close()
s.close()
[/PYTHON]

[PYTHON]
#+———————————-+
#| Client TCP/IP |
#+———————————-+
import socket

s = socket.socket()

#invoco el metodo connect del socket pasando como parametro la tupla IP , puerto
s.connect((“localhost”, 9999))

while True:
mensaje = raw_input(“Mensaje a enviar: “)

#invoco el metodo send pasando como parametro el string ingresado por el usuario
s.send(mensaje)
if mensaje == “by”:
break

print “adios”

#cierro socket
s.close()
[/PYTHON]

Tags: , ,


Leave a Reply

Your email address will not be published. Required fields are marked *