[Python-es] raro problema con hilos

xiao xiong mao panda rojo ailurus.fulgens en hotmail.com
Lun Ago 27 23:47:47 CEST 2012


estoy haciendo algunos experimento con hilos
pero algo anda mal
la idea era hacer una ventana y que esta se haga visible al darle una orden por un socket
cuando reciba una cierta cadena x el socket la ventana debe realizar la orden

lo raro es k no la realiza, sino hasta después de k se ejecuten varios eventos en la ventana

este es el código que uso para enviar la orden


import socket
import time
import sys
#str = sys.argv[1]
str = "hola"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("localhost", 1333))
#time.sleep(3)
s.send(str)
s.close()
print "e


completa su ejecución sin errores y de inmediato

este es el el hilo principal

import pygtk
pygtk.require('2.0')
#import gtk
#import os#, sys
import socket
import ventana
import thread
import time
import sys


try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind(("",1333))
    server.listen(1)
except:
    print "puerto 1333 ocupado\n?Otra instancia de la aplicacion se esta ejecutando?"
    exit()

def escuchapuerto(e,i):
    global server
    time.sleep(15)
    while True:        
        #try:
        socket_cliente, datos_cliente = server.accept()
        mensaje = socket_cliente.recv(32)
        print mensaje
        if mensaje == "hola":
            #ventana.ventana.window.set_visible(True)
            #ventana.ventana.window.maximize()
            ventana.ventana.entry.set_text(mensaje)
            #time.sleep(3)                
        #except:
        #    print "error escuchando puerto"
    
thread.start_new_thread(escuchapuerto,(0,0))# no se ejecuta normalmente
ventana.start()

en este caso debe escribir un texto en un gtk.entry
ejecuto el primer script, envia la cadena sin errores
pero la ventan principal no hace nada
la doy click a los botones y otros eventos, despues de ejecutarse entre 3 y 10 eventos recién aparece el texto

hice casi lo mismo en java y funciona perfecto, la ventana principal responde sin  problemas

que le esta pasando??
 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120827/d2c85845/attachment.html>


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