Re: Envío de mensajes a múltiples destinos

Luis Orellana Orihuela luis.ore.ori en gmail.com
Lun Feb 4 12:19:51 CET 2008


Muchas gracias a todos por la información, la verdad es que estoy
aprendiendo mucho. Aunque aun no me aclaro, no veo el modo de enfocarlo. Os
planteo el escenario:

   - Hay un servidor (debian) que controla varias salas de unos 50 pc's
   cada una de ellas.
   - En cada pc de las salas tengo implementado una aplicación, lo único
   que hace es escuchar por un puerto. En el momento que le llega un socket
   entrante del servidor  obtiene el string que éste le manda y lo muestra por
   pantalla.
   - Ahora mismo, lo que tengo implementado en la máquina servidora es un
   pequeño script que manda el string al pc indicado de cualquier sala (crea
   socket, envía string y  cierra socket sin esperar asentimiento), de manera
   que si quiero  enviar el mismo string a una sala completa tendría que
   hacerlo uno a uno recorriendo todos los pc's de la sala. El problema es que
   si un pc está apagado o no escuchando, el connect del socket tarda un
   ratillo en dar el error y claro, el problema se agrava  si hay mas de uno
   apagado (que suele ser lo habitual). El objetivo es que aparezcan en los pcs
   de forma casi instantánea (unos segundos de diferencia entre el primero y
   último estaría bien) y que la sobrecarga en la máquina servidora sea mínima.

   Como primera solución opté por un hilo por socket.  Realicé una prueba
   con todos los Pcs apagados y aquello empezó a darme errores:

   "Original exception was:
   Unhadled exception in thread estarted by
   Error in sys.excepthook"

   - He pensado que una opción sería realizar un primer recorrido para
   ver qué pcs de la sala están operativos (encendido y escuchando) -creo que
   con select se haría este paso- y una vez conocidos los pcs disponibles
   realizar el envío de sockets secuencialmente. como el tráfico de cada socket
   (envío de una cadena) es mínimo no creo que el hacerlo multihilo o
   multiproceso (fork) me aporte mucho más dinamismo ¿qué opináis?

Bueno no me enrollo más, solo quería saber si el enfoque es correcto o es
una burrada y admito todo tipo de sugerencias. Decir también que hay que
tener en cuenta que mi nivel en Python es mínimo.

Muchas gracias a la lista!
_______________________________________________
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