Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/10/2013, 10:54
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Mantener coneccion abierta en servidor - coneccion cliente servidor

Hola,

Cita:
Iniciado por cesarobcn Ver Mensaje
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 original
  1. while (true) {
  2.   Socket cliente = server.accept();
  3.   try {
  4.     x = readUTF();
  5.     if (x == ALGO) {
  6.        algo();
  7.     }
  8.     cliente.close()
  9.   } catch (Exception e) {
  10.   }
  11. }

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 original
  1. while (true) {
  2.   Socket cliente = server.accept();
  3.   try {
  4.     while (true) {
  5.         x = readUTF();
  6.         if (x == ALGO) {
  7.            algo();
  8.         }
  9.         if (x == END) {
  10.            break;
  11.         }
  12.     }
  13.     cliente.close()
  14.   } catch (Exception e) {
  15.   }
  16. }
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,