El día 29 de agosto de 2012 00:15, xiao xiong mao panda rojo <ailurus.fulg...@hotmail.com> escribió:
> hice algunas pruebas > agrege el "shutdown" en mi cliente antes de "close" > no hay diferencia > > me di cuenta k "socket_cliente.recv(4) " > el "4" es el numero de bytes, pensé k era de bits > cambie el largo de la cadena > la longitud no importa, mayor o menor; mismo problema > > cambiar el timeout me dio una pista > ni mi server (server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)) > o mi socket_cliente (socket_cliente, datos_cliente = server.accept()) > ni mi programa de envio (s = socket.socket(socket.AF_INET, > socket.SOCK_STREAM)) > ninguno tiene un atributo llamado .timeout() > me imprime un error con cada uno > solo si llamo socket.timeout() funciona. pero asi no le estoy dando el dato > a los objetos con lo que estoy trabajando El timeout es un modo común a todo el módulo socket. El cambiarlo era por descartar cosas. > pero paso algo interesante. incluso la impresion de errores necesita k > ocurra algún evento. > y si hago "print mensaje,"mensaje recibido" " > primero imprime la variable mensaje y unos eventos después la cadena > "mensaje recibido" y mas eventos después se actualiza la ventana > > parece k el problema es k el hilo no se ejecuta libremente. se queda > esperando una oportunidad de ejecutarse o algo así > es muy raro > luego investigare mas sobre hilos y otras formas de iniciar un nuevo hilo También a mí me ha dado alguna pista. Con pygtk existe un doble bloqueo: el GIL (Global Interpreter Lock) de python y el bloqueo propio de gdk. Cuando se ejecuta gtk.main() se desbloquea gdk para que sea usado por otro hilo; pero no libera el GIL en ése momento, con lo que queda bloqueado el intérprete python hasta que no se produzca algún evento en el hilo principal. Todos los hilos se paran, sólo la librería gtk está en funcionamiento. La solución es pedir que los desbloqueos de gdk y GIL vaya parejos invocando gtk.gdk.threads_init() antes de gtk.main(): http://www.pygtk.org/docs/pygtk/gdk-functions.html#function-gdk--threads-init -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/