<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>> Date: Tue, 28 Aug 2012 10:00:21 +0200<br>> From: pych3m4@gmail.com<br>> To: python-es@python.org<br>> Subject: Re: [Python-es] raro problema con hilos<br>> <br>> El día 28 de agosto de 2012 00:56, xiao xiong mao panda rojo<br>> <ailurus.fulgens@hotmail.com> escribió:<br>> <br>> > eso es solo el tiempo antes de que comience a escuchar<br>> > igual sin esa linea me da el mismo resultado<br>> > no importa el tiempo k espera<br>> > solo aparece el texto después de ejecutar algunos otros eventos<br>> <br>> Vale. Entonces intenta determinar mejor dónde falla:<br>> <br>> - ¿El servidor recibe los datos o es un problema de actualización de la ventana?<br>> <br>> - ¿Afecta el tamaño del buffer en la recepción? ¿Qué pasa si no hay<br>> buffer? ¿Qué pasa si el mensaje tiene mayor longitud que el buffer?<br>> <br>> - ¿Afecta en algo si cambias el timeout (socket.timeout(value))?<br>> <br>> - ¿Qué pasa si fuerzas al cierre inmediato del socket con shutdown<br>> antes de hacer close?<br>> <br>> <br>> Prueba primero con la última pregunta. Según la documentación, un<br>> .close() no significa que se cierre inmediatamente el socket. Tal como<br>> lo has programado, el servidor no sabe cuándo ha terminado el cliente<br>> de enviar el mensaje hasta que se cierra el socket por timeout.<br>> <br>> <br>> -- <br>> Hyperreals *R: http://ch3m4.org/blog<br>> Quarks, bits y otras criaturas infinitesimales<br>> _______________________________________________<br>> Python-es mailing list<br>> Python-es@python.org<br>> http://mail.python.org/mailman/listinfo/python-es<br>> FAQ: http://python-es-faq.wikidot.com/<br></div>                                            </div></body>
</html>