El día 25 de agosto de 2008 16:35, Herr Groucho <[EMAIL PROTECTED]> escribió: > Con 10000 conexiones, tendría 10001 procesos. Es esta una estrategia > cuerda para manejar 10000 conexiones?
¿Y es imprescindible que se mantenga la conexión establecida permanentemente? Dada la cantidad de equipos y que no has manifestado preocupación por el ancho de banda, supongo que no habrá una transmisión constante de datos. Tal vez sea más sensato establecer la conexión, mandar el dato y cerrarla. En ese caso se crearía un hijo para cada conexión pero se terminaría rápidamente. Podrías copiar el funcionamiento de Apache, que mantiene una cantidad de hijos corriendo por las dudas y les asigna trabajo a medida que llegan las comunicaciones. Por otro lado, un solo programa posiblemente pudiera hacer el trabajo, pero reducirías bastante la complejidad si no mantibieras las conexiones abiertas o si usaras UDP en lugar de TCP. La calidad de las comunicaciones actuales hace que sea muy raro que se pierda un paquete. Si te querés asegurar de que no se pierde nada implementás un mensaje de respuesta con un acuse de recibo, timeout y reenvío. Claro que complica un poco el programa en el equipo emisor pero reduce el tamaño de los paquetes y creo que solucionaría el problema del servidor.
