He aquí por qué:
* Limitaciones del sistema operativo: Algunos sistemas operativos están diseñados principalmente para roles de clientes, otros para servidores y otros pueden actuar como ambos. El sistema operativo impondrá restricciones sobre cuántos procesos de cliente o servidor concurrentes pueden administrar de manera efectiva.
* Restricciones de recursos: Ejecutar múltiples clientes y servidores consume simultáneamente recursos significativos. Una computadora de baja potencia solo puede ejecutar un solo servidor y un puñado de clientes antes de que el rendimiento se degrade significativamente o se bloquea. Un servidor poderoso podría ejecutar cientos o incluso miles de clientes y múltiples servidores simultáneamente (aunque esto dependería en gran medida de lo que están haciendo esos clientes y servidores).
* Capacidad de red: Si la computadora está actuando como servidor, el ancho de banda de la red es un factor limitante importante en cuántos clientes puede manejar simultáneamente sin problemas de rendimiento.
* Diseño de software: La eficiencia del software del cliente y del servidor juega un papel crucial. El software bien optimizado requerirá menos recursos que el software mal optimizado.
Por lo tanto, en lugar de un número fijo, considere esto:el número de combinaciones está prácticamente limitado por los recursos de la computadora y la capacidad del sistema operativo, que potencialmente van desde un solo cliente hasta un número muy grande (miles o más, teóricamente) en escenarios ideales ricos en recursos. Pero las limitaciones del mundo real siempre entrarán en juego.