Problema con ventanas y servicios
luis orellana orihuela
lova_luis en hotmail.com
Jue Nov 29 12:42:11 CET 2007
Gracias por responder. Acostumbro a poner el asunto y trato que sea lo más claro y conciso posible. Pero...se me ha olvidado. Lo siento. Procuraré que no vuelva a ocurrir.
A tu pregunta ... Sí, uso hilos. Cada vez que acepto un socket lo paso a un hilo para que lo procese. Además, una vez que tomo la cadena del cliente la paso a otro hilo para que lo muestre por pantalla, pero el problema persiste . Pego aquí parte del código:
def procesa(conexion): #un hilo por cada conexion aceptada
texto=conexion.recv(1024)
conexion.close()
thread.start_new(ventana,(texto,)) #un hilo por ventana para evitar q se quede 'colgado'
def ventana(texto):
#preparamos ventana que muestre el texto ---------------
ventana = Label(None,text=texto)
ventana.pack()
#boton = Button(form,text="Aceptar",command=form.destroy)
#boton.pack(side="bottom")
ventana.mainloop()
#-------------------------------------------------------------------------
> Subject: Re: [Python-es] (sin asunto)
> From: a.porrua en gmail.com
> To: python-es en aditel.org
> Date: Thu, 29 Nov 2007 12:11:04 +0100
>
> Para empezar acostúmbrate a poner Asunto a tus mensajes, hay muchos motivos muy buenos para hacerlo como por ejemplo no parecer un pardillo.
>
> El jue, 29-11-2007 a las 11:47 +0100, luis orellana orihuela escribió:
> >
> > Hola todos
> >
> > Estoy empezando con Python. Estoy tratando de hacer una aplicación cliente-servidor sencillita, lo primero que se despacha con sockets vamos, más concretamente es un cliente que envia texto por linea de comandos y el servidor lo muestra por pantalla. Me falta por depurar un par de aspectos:
> >
> > 1.- El texto que le llega al servidor quiero que se muestre en una ventanita. La ventanita sale pero si no la cierro y envío otro mensaje se me quedan como colgada las ventanas. ¿alguna forma de solucionarlo? pongo aquí el código que uso para mostrar por pantalla:
> >
> > from Tkinter import *
> > .
> > .
> > .
> > ventana = Label(None,text=texto)
> > ventana.pack()
> > #boton = Button(form,text="Aceptar",command=form.destroy)
> > #boton.pack(side="bottom")
> > ventana.mainloop()
> >
>
> ¿usas Threads?
>
> > En realidad querría que la venta fuese tipo winpopup usando el showinfo pero no me quedaba bien, siempre me quedaba una ventana de fonde del TKinter.
>
> TKinter es un poco limitado, yo prefiero Gtk porque soy del gnome (como
> quien es del Barça o del madrid), pero también hay muchos hulligans de
> Qt y de Wx.
>
> > 2.- Querría hacer el servidor ejecutable y ponerlo como servicio en XP para hacerlos correr en pc´s que no tuvieran python instalado. El ejecutable lo consigo hacer con el py2exe, después lo trato de poner como servicio con sc create y lo consigo, pero al iniciar el servicio me da el siguiente error:
> >
> > "No se puede iniciar el servicio "miprograma" en el equipo local. Error 1053: El servicio no ha respondido a la petición o inicio del control en un tiempo adecuado"
> >
> > ¿alguna solución o alternativa?
>
> Ese error me suena que los servicios tienen que implementar alguna
> interfaz.
>
> >
> > Gracias
>
_________________________________________________________________
Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para estar a la última
http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com
------------ próxima parte ------------
_______________________________________________
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