Foros del Web » Programación para mayores de 30 ;) » Java »

Esperar una interrupcion

Estas en el tema de Esperar una interrupcion en el foro de Java en Foros del Web. Que tal gente, estoy haciendo un servidor y un cliente de mensajería. Y tengo un inconveniente a la hora de esperar mensajes enviados por los ...
  #1 (permalink)  
Antiguo 11/11/2007, 19:32
 
Fecha de Ingreso: abril-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Esperar una interrupcion

Que tal gente, estoy haciendo un servidor y un cliente de mensajería. Y tengo un inconveniente a la hora de esperar mensajes enviados por los clientes.

Osea lo que hago es con un while (true){....} esperar mensajes entonces cuando halla algo en el stream lo envio a los demas clientes.

Funciona todo bárbaro pero no lo veo efectivo ya que esta continuamente testeando si hay algo en el stream.

Hay alguna forma de hacer una especie de interrupción, de que cuando halla algo en el stream haga una accion ?

Saludos
  #2 (permalink)  
Antiguo 12/11/2007, 01:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Esperar una interrupcion

Normalmente los streams tienen metodos que se bloquean esperando hasta que haya algo que leer, asi que seria cuestion de usar esos metodos.

Como no dices ni que metodo de mensajeria usas ni que tipo de streams ni nada, pues no puedo ser mucho más concreto.

S!
  #3 (permalink)  
Antiguo 12/11/2007, 09:22
 
Fecha de Ingreso: abril-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Re: Esperar una interrupcion

Me falto detallar.

Código:
while (datos==null) 
{
ObjectInputStream datos;

datos = new ObjectInputStream( cliente1.getInputStream() );

}

return(entrada.readObject);
Entonces no me gusta estar haciendo un while.
  #4 (permalink)  
Antiguo 12/11/2007, 12:29
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Esperar una interrupcion

El codigo que muestras no dice mucho, para empezar no compila y no usa los mismos nombres para las variables todo el rato...

Pero aun así, lo repito por que quizá no me he explicado bien: Todo depende de que tipo de Stream devuelva "cliente1.getInputStream()". Hay streams que se bloquean y hay streams que no, segun como los configures etc.

En el caso de un servidor, y suponiendo que estes usando sockets, lo normal es dejar al servidor escuchando por un socket del tipo ServerSocket con el metodo accept. Pero eso solo es un ejemplo, todo depende de como hagas la comunicacion.

S!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:02.