Hilos que tardan mucho
olmer castrillon
ocalinux en gmail.com
Dom Mar 2 18:25:16 CET 2008
No creo porque aun si el proceso de cada maquina es en paralelo solo
se usa un soccet para recepcionar o enviar los datos a no ser que se
destinara soccet separados por cada envio pero la maquina lo que hace
es dividir tiempos entre los soccets para tener acceso a los datos de
cada maquina enlazada por lo tanto esto no es posible porque solo hay
una maquina recepsionando datos.
El 29/02/08, Luis Orellana Orihuela <luis.ore.ori en gmail.com> escribió:
> Tengo una aplicación en la que envío el mismo mensaje a un conjunto de PC's.
> Uso un hilo por cada socket a enviar:
>
> import thread
> ....
> ...
> ...
>
> for ip in ips: #ips es una lista con las ips destino
> thread.start_new(envia_socket,(ip,puerto,mensaje))
>
> La función envia_socket sólo se dedica a enviar el mensaje al destino:
>
> def envia_socket(servidor,puerto,msg):
>
> s=socket(AF_INET,SOCK_STREAM) #creamos socket tipo TCP/IP
> #s.settimeout(20)
> try:
> s.connect((servidor,puerto)) #nos conectamos al servidor
> s.send(msg)
> s.close() # cerramos conexion
> envio_ok.append(servidor)
> except timeout:
> error1.append(servidor)
> except error: # si error capturamos excep
> error2.append(servidor)
>
> El problema es que si envío un mensaje a un sólo equipo y el pc está
> apagado el socket intenta conectar durante unos 20 seg. En cambio si se lo
> mando a unos 30 equipos y estos está apagados la ejecución se demora hasta
> pasar el minuto. Si uso threading me ocurre lo mismo. Y si establezco un
> settimeout he de poner un tiempo elevado para que recorra todos los equipos.
>
> No sé si estos tiempos son normales, pero si son procesos en pararelos ...
> ¿no debería tardarme aproximadamente lo mismo en enviar a un equipo que a
> varios?
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
--
***Olmer Castrillon Aguirre***
RCSoluciones Integrales
Director de proyectos
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es