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