Hola a todos, he estado desarrollando un sistema para control de ciber en java, ahora estoy con lo de servidor/cliente, sin embargo estoy tratando de adaptar un prototipo de dicho sistema mediante un chat multi clientes, la cuestión es que por medio de un botón Inicio mi servidor, pero la interfaz gráfica se detiene, he investigado pero no doy con la solución la idea es que el servidor este activo y siempre en escucha de las maquinas clientes.
El código con el que inicio el servidor es este:
Código:
String[] arguments = new String[] {};
new MultiThreadChatServerSync().main(arguments);
lo que contiene la clase es esto:
Código:
try {
serverSocket = new ServerSocket(portNumber);
} catch (IOException e) {
System.out.println(e);
}
while (true) {
try {
clientSocket = serverSocket.accept();
int i = 0;
for (i = 0; i < maxClientsCount; i++) {
if (threads[i] == null) {
(threads[i] = new clientThread(clientSocket, threads)).start();
break;
}
}
if (i == maxClientsCount) {
PrintStream os = new PrintStream(clientSocket.getOutputStream());
os.println("Los servidores estan ocupados, intenta mas tarde");
os.close();
clientSocket.close();
}
} catch (IOException e) {
System.out.println(e);
}
}
}
Se que se debe a que el while esta en espera de clientes y siempre esta bajo un bucle infinito, he intentado cambiando el while a estado false, pero solo permite un cliente y no me acepta los demas, bueno espero puedan ayudarme
se los agradeceria
mucho