aspetta, vero con setSoTimeout ci fai poco, ma connect dovrebbe fare al caso tuo:
Questo dovrebbe connettersi subito (ed uscire senza errori)
codice:
import java.net.*;
public class SocketDemo {
public static void main (String[] args) {
try {
SocketAddress sa = new InetSocketAddress("www.google.com", 80);
Socket sock = new Socket();
sock.connect(sa, 10000); //timeout di 10 secondi
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Questo invece dovrebbe lanciare un'eccezione dopo i famosi 10 secondi
codice:
import java.net.*;
public class SocketDemo {
public static void main (String[] args) {
try {
SocketAddress sa = new InetSocketAddress("www.google.com", 5555); //porta ad capocchiam
Socket sock = new Socket();
sock.connect(sa, 10000);
}
catch (Exception e) {
e.printStackTrace();
}
}
}