Problema python-sockets aplicacion tipo chat

Gabriel Genellina gagsl-py en yahoo.com.ar
Vie Feb 23 03:56:31 CET 2007


En Thu, 22 Feb 2007 20:57:18 -0300, Jordi Rodriguez <jordirr en gmail.com>  
escribió:

> Soy nuevo aqui. Tengo un pequeño problema con python. Estoy haciendo una
> aplicación en linea de comandos, en la que se conectan dos maquinas y  
> hablan
> entre ellas, via socket, como si fuera un chat.
>
> El problema viene dado a que la entrada es por teclado, entonces yo puedo
> estar escuchando siempre en cada maquina a ver si el otro dice algo, pero
> cuando esta esperando datos del teclado con raw_input() se queda parado  
> asi
> que no puedo seguir escuchando mientrastanto.

Si el protocolo es full duplex (o sea que ambos pueden hablar a la vez)  
entonces:

- no uses raw_input, en su lugar hay que ir captando las teclas una por  
una (y probablemente enviar la linea completa al presionar ENTER). Para  
Windows se puede usar msvcrt.getch, hay una receta de getch portable en el  
Python Cookbook

- o sino, vas a necesitar dos threads, uno que procesa la entrada por  
teclado y otro lee desde el socket.

> He visto el modulo asincrono de python pero no me sirve ya que utiliza
> clases y no puedo usar clases para esta aplicacion.

Tu religión no te lo permite? (Yo sabia de los menonitas, que son bastante  
estrictos, pero prohibir las clases, no se, me parece demasiado...)
Igual lamento decirte hijo mío que ya has pecado sólo por usar sockets:

py> socket.socket()
<socket._socketobject object at 0x00ADA960>

-- 
Gabriel Genellina

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es