Limitar clientes que se conectar por socket, cola de espera
Publicado por Santiago (4 intervenciones) el 28/09/2019 18:36:47
Estoy intentando averiguar cómo limitar el números de conexiones por socket entrantes, a un programa que hace las veces de servidor http (muy simple).
La idea es que si asigno una cola de 5 conexiones, el 6º que se conecta tiene que esperar a que uno de los 5 primeros termine.
Y no consigo que me pare en el proceso nº6.
He probado de todo por ejemplo con Executor que se supone que puede limitar la cola. Pero nolo hace o no se hacerlo yo.
MIl gracias
La idea es que si asigno una cola de 5 conexiones, el 6º que se conecta tiene que esperar a que uno de los 5 primeros termine.
Y no consigo que me pare en el proceso nº6.
He probado de todo por ejemplo con Executor que se supone que puede limitar la cola. Pero nolo hace o no se hacerlo yo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ExecutorService executorService = Executors.newFixedThreadPool(5);
for(;;) // bucle infinito para crear los hijos (multihilo)
{
Socket skCliente = skServidor.accept(); // Crea objeto
System.out.println("Sirviendo cliente...");
Runnable t = new Hilo(skCliente);
//new Thread(t).start();
executorService.submit(t);
//executorService.submit(new Hilo(skCliente) );
// Thread t = new Hilo(skCliente);
// t.start();
}
MIl gracias
Valora esta pregunta


0