Disculpen la molestia, me podrían ayudar con lo siguiente:
Implementar en Java, utilizando Sockets, un sistema cliente servidor, con un balanceador de carga que distribuya a los clientes equitativamente ente los servidores que se estén ejecutando.
Servidor:
- Al iniciar debe registrarse con el balanceador de carga para que le envíe clientes. Al terminar debe avisar al balanceador de carga para que deje de enviarle clientes
- Debe ser capaz de aceptar y trabajar con varios clientes a la vez concurrentemente
- Recibe un entero de cada cliente, que representa un número de segundos. Durante ese tiempo incrementará un contador: (while(…) {contador++;}) y al finalizar el tiempo devolverá el valor de dicho contador, finalizando la conexión con dicho cliente.
Cliente:
- Es capaz de conectarse al mismo tiempo con varios servidores concurrentemente.
- Al iniciar deberá recibir una lista de números: {2, 4, 5, …, 9}. Cada número en la lista
representa una conexión con un servidor.
- Para cada conexión se conecta con el balanceador de carga, quien le indicará la dirección (y puerto) del servidor que le va a ofrecer el servicio.
- Se conecta con dicho servidor y le envía el número que corresponde de la lista, que
representa una cantidad en segundos.
- Espera por la respuesta.
- la imprime en pantalla indicando: dirservidor:puerto: valorrecibido
- Guarda el valor de respuesta en una lista
- Termina la conexión con dicho servidor
- Al recibir todas las respuestas esperadas (una por conexión) presenta la sumatoria de
todas las cantidades guardadas en la lista
Balanceador de carga:
- Al iniciar recibe conexiones tanto de servidores como de clientes.
- Los servidores podrán conectarse para registrarse o des-registrarse.
- Al recibir un petición registro de servidor deberá guardar su dirección y puerto en una
lista y finalizar dicha conexión
- Al recibir una petición de quitar registro de servidor deberá eliminar la dirección y
puerto de dicho servidor de la lista
- Al recibir una conexión de un cliente deberá enviarle como respuesta la dirección y
puerto del servidor al cual deberá pedirle el servicio, y finaliza la conexión con dicho
cliente.
- El balanceador de carga deberá intentar que todos los servidores tengan una carga de
trabajo similar
Me lo mandaron como examen en la universidad y no tengo idea de como hacerlo solicito ayuda urgente por favor
uso IDE netbeans 8.0.1 con jdk 7