PDA

View Full Version : [java] Mettere un timeout alla ricezione UDP


DesmoColo
04-09-2005, 09:43
Sto progettando un entita che utilizza un socket UDP per ricevere messaggi.
Ho fatto un ciclo while(true) in modo che l'oggetto resti in attesa di pacchetti.
Volevo sapere se esiste un metodo in Java per dirgli

"Se entro 1 secondo non ricevi pacchetti, esci"

Se non esiste mi potete fornire un pseudocodice ad hoc?

Ed_Bunker
04-09-2005, 10:26
DatagramSocket ds =...
try
{
ds.setSoTimeout(int wait);
ds.receive(...);
}
catch (SocketException e)
{
System.err.println(e);
}
catch (SocketTimeoutException e)
{
System.err.println("Nessuna risposta ricevuta entro " + wait/1000 + " secondi")
}


Vedere API... :D

ABCcletta
04-09-2005, 16:46
Come detto da Ed_Bunker il metodo è .setSoTimeout(int value)