<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
hola ch3m4<br>hice algunas pruebas<br>agrege el "shutdown" en mi cliente antes de "close"<br>no hay diferencia<br><br>me di cuenta k "socket_cliente.recv(4) "<br>el "4" es el numero de bytes, pensé k era de bits<br>cambie el largo de la cadena<br>la longitud no importa, mayor o menor; mismo problema<br><br>cambiar el timeout me dio una pista<br>ni mi server (server = socket.socket(socket.AF_INET, socket.SOCK_STREAM))<br>o mi socket_cliente (socket_cliente, datos_cliente = server.accept())<br>ni mi programa de envio (s = socket.socket(socket.AF_INET, socket.SOCK_STREAM))<br>ninguno tiene un atributo llamado .timeout()<br>me imprime un error con cada uno<br>solo si llamo socket.timeout() funciona. pero asi no le estoy dando el dato a los objetos con lo que estoy trabajando<br><br>pero paso algo interesante. incluso la impresion de errores necesita k ocurra algún evento.<br>y si hago "print mensaje,"mensaje recibido" "<br>primero imprime la variable mensaje y unos eventos después la cadena "mensaje recibido" y mas eventos después se actualiza la ventana<br><br>parece k el problema es k el hilo no se ejecuta libremente. se queda esperando una oportunidad de ejecutarse o algo así<br>es muy raro<br>luego investigare mas sobre hilos y otras formas de iniciar un nuevo hilo<br><br>gracias por responder<br><br><br><div><div id="SkyDrivePlaceholder"></div>&gt; Date: Tue, 28 Aug 2012 10:00:21 +0200<br>&gt; From: pych3m4@gmail.com<br>&gt; To: python-es@python.org<br>&gt; Subject: Re: [Python-es] raro problema con hilos<br>&gt; <br>&gt; El día 28 de agosto de 2012 00:56, xiao xiong mao panda rojo<br>&gt; &lt;ailurus.fulgens@hotmail.com&gt; escribió:<br>&gt; <br>&gt; &gt; eso es solo el tiempo antes de que comience a escuchar<br>&gt; &gt; igual sin esa linea me da el mismo resultado<br>&gt; &gt; no importa el tiempo k espera<br>&gt; &gt; solo aparece el texto después de ejecutar algunos otros eventos<br>&gt; <br>&gt; Vale. Entonces intenta determinar mejor dónde falla:<br>&gt; <br>&gt; - ¿El servidor recibe los datos o es un problema de actualización de la ventana?<br>&gt; <br>&gt; - ¿Afecta el tamaño del buffer en la recepción? ¿Qué pasa si no hay<br>&gt; buffer? ¿Qué pasa si el mensaje tiene mayor longitud que el buffer?<br>&gt; <br>&gt; - ¿Afecta en algo si cambias el timeout (socket.timeout(value))?<br>&gt; <br>&gt; - ¿Qué pasa si fuerzas al cierre inmediato del socket con shutdown<br>&gt; antes de hacer close?<br>&gt; <br>&gt; <br>&gt; Prueba primero con la última pregunta. Según la documentación, un<br>&gt; .close() no significa que se cierre inmediatamente el socket. Tal como<br>&gt; lo has programado, el servidor no sabe cuándo ha terminado el cliente<br>&gt; de enviar el mensaje hasta que se cierra el socket por timeout.<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; Hyperreals *R: http://ch3m4.org/blog<br>&gt; Quarks, bits y otras criaturas infinitesimales<br>&gt; _______________________________________________<br>&gt; Python-es mailing list<br>&gt; Python-es@python.org<br>&gt; http://mail.python.org/mailman/listinfo/python-es<br>&gt; FAQ: http://python-es-faq.wikidot.com/<br></div>                                               </div></body>
</html>