Hola,
Cita:
Iniciado por cesarobcn Hola HackmanC gracias por responder, efectivamente cuando el servidor 've' que el cliente ha cerrado su sesion salta al catch y en consola simplemente me sale un 'null' y justo debajo se muestra su desconexión, eso es lo que quiero controlar y no se por donde pillarlo, ...
Parece que no te enteras de lo que escribí, si el problema es el catch y el ciclo infinito, simplemente tienes que modificar el algoritmo de la siguiente forma, para que el catch quede dentro del ciclo infinito:
Código Java:
Ver originalwhile (true) {
Socket cliente
= server.
accept(); try {
x = readUTF();
if (x == ALGO) {
algo();
}
cliente.close()
}
}
Podrías agregar un cliclo adicional para contestar varias peticiones del mismo cliente en la misma conexión, que al parecer es lo que querías:
Código Java:
Ver originalwhile (true) {
Socket cliente
= server.
accept(); try {
while (true) {
x = readUTF();
if (x == ALGO) {
algo();
}
if (x == END) {
break;
}
}
cliente.close()
}
}
Pero aún así tu programa solamente puede mantener una conexión con un cliente a la vez, no puede manejar dos clientes al mismo tiempo, para eso necesitas hilos (threads) y sincronización (synchronized).
Saludos,