Sockets en PyQt4

rmmts listas rmmts.listas en gmail.com
Vie Mayo 1 22:23:27 CEST 2009


El 1 de mayo de 2009 19:15, Thefalas <malopez00 en gmail.com> escribió:

> Buenas.
> Les expongo mi problema:
>
> Hace un par de dias estaba iniciandome en los sockets en python, hice un
> cliente con el que se pueden enviar mensajes a un servidor, todo ello
> mediante la consola(uso ubuntu 9.04 y python 2.6). Hasta aqui ningun
> problema (les adjunto el código(cliente.py y servidor.py)), lo malo
> viene cuando intento crear una interfaz para el cliente (el servidor
> seguiría igual) usando PyQt4, no hay manera de que funcione salvo
> borrando la linea:
>
>        self.connect(self.ventana.boton_enviar, QtCore.SIGNAL('clicked()'),
>                             self.enviar())
>
> que es la que conecta el boton con la funcion que envia al servidor lo
> que hay escrito en el textedit. Les adjunto el codigo del formulario y
> del programa(formulario.py y cliente_interfaz.py) a ver si me pueden
> echar una mano.
>
> Muchas Gracias.
>
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>


Buenas,

me baje los archivos, y de primeras en el "cliente_interfaz.py" si un par
de cosas por las cuales posiblemente no te funcione.
La primera es que cuando defines la función enviar, si te fijas le faltan
los
espacios para que se tome como parte de la clase.
La segunda, es que el tercer parámetro del connect, es decir la llamada
a la función, no tiene que llevar los paréntesis.

Con esos dos cambios ya te ha de arrancar el cliente y enviarte mensajes
al servidor, pero eso si, se te va a presentar otra cosa nada mas hacer esto
y es que el "while True" se te va a quedar haciendo un envío infinito.
Arreglar eso ya depende de lo que quieras tu hacer, o bien se abre el
sockect y cierra
cada vez que le des al boton enviar (ojo porque el servidor se para cuando
el cliente cierra
la conexion) o bien abres el sockect al iniciar el programa y se cierra
cuento introduzcas
la palabra "salir" como esta planteado ahora o cuando se cierre la ventana
en la "x".

Un saludo y espero haberme explicado bien
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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