Java - Implementación de cliente de chat

 
Vista:

Implementación de cliente de chat

Publicado por Ana B. Cara (2 intervenciones) el 12/03/2007 18:46:59
Hola!

Estoy implementando un cliente de chat en Java y me ha surgido un problema: no sé cómo notificar al applet de la interfaz la recepción de un nuevo mensaje desde el servidor, ya que la llamada a la función que recibe mensajes desde el socket es bloqueante y no puedo dejar la aplicación bloqueada a la espera de recibir mensajes.

He barajado las siguientes opciones, pero ninguna me convence del todo:

1) Crear dos hebras, una lectora y otra escritora. Así, la hebra lectora podrá bloquearse sin problemas mientras no haya mensajes nuevos. El problema, es que no sé cómo comunicar esta hebra con el applet.

2) Usar una única hebra dirigida por eventos. En principio, mi idea era notificar la llegada de un nuevo mensaje con la generación de un evento que sería atendido con el applet de forma similar a como se hace con los eventos de teclas pulsadas y demás. El problema es que no sé dónde generar ese evento, ya que si creo una función que compruebe si llega algo al socket ésta bloqueará todo el programa.

Alguien puede ayudarme?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder