[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