468x60

lunedì 28 settembre 2009

Settare un Timeout ad un Socket in Java

Lavorando al progetto PROMIS ho dovuto sviluppare un'applicazione Java che riceve in UDP Multicast alcune informazioni, lanciando un "timeout" se queste non vengono ricevute entro X millisecondi.

Per settare un timeout è sufficiente utilizzare il metodo setSoTimeout(), vediamo come con un piccolo esempio:
MulticastSocket socket = new MulticastSocket(port);
socket.setSoTimeout(timeout);
in = new BufferedReader(new InputStreamReader(new DatagramInputStream(
socket), "UTF8"));
...

try {
String message = in.readLine();
} catch(SocketTimeoutException ex) {
System.err.println("Timeout exception: "+ex);
}

Nessun commento:

Posta un commento

468x60

Cerca su Google

Cerca nel Blog con Google