goldingMedlem sedan okt. 200611 inlägg Tjena...
Jag försöker skapa en socket till en server.
Det funkar bra men om servern inte är online så försöker den tills jag avslutar programmet.
Kan man sätta någon timeout tid eller nått?
import java.net.*;
public class test
{
public static void main(String[] args)
{
Socket s = null;
try {
s = new Socket("www.telia.se", 80);
}
catch(Exception e) {
System.exit(0);
}
System.out.println(s);
}
}
Följande borde funka, i alla fall om du kör jdk 1.4 eller senare, och ger dig en timeout på 3 sekunder när du ska ansluta dig
try
Socket socket = new Socket();
socket.connect(InetSocketAddress("www.telia.se", 80), 3000);
} catch (Exception e) {
}
Re-JeePMedlem sedan sep. 200642 inlägg
antilizaer skrev:
Följande borde funka, i alla fall om du kör jdk 1.4 eller senare, och ger dig en timeout på 3 sekunder när du ska ansluta dig
try
Socket socket = new Socket();
socket.connect(InetSocketAddress("www.telia.se", 80), 3000);
} catch (Exception e) {
}
Förutom att du måste skapa en ny (new InetSocketAddress(...)) instans av InetSocketAddress och lägga till en måsvinge...
Men annars borde det funka ja...
LimeMedlem sedan sep. 2001961 inlägg
golding skrev:
Tjena...
Jag försöker skapa en socket till en server.
Det funkar bra men om servern inte är online så försöker den tills jag avslutar programmet.
Kan man sätta någon timeout tid eller nått?
import java.net.*;
public class test
{
public static void main(String[] args)
{
Socket s = null;
try {
s = new Socket("www.telia.se", 80);
}
catch(Exception e) {
System.exit(0);
}
System.out.println(s);
}
}
Och lite kinkigt... Man ska ALDRIG fånga ett anonymt Exception på det där sättet om man inte ska kapsla in det i en egen Exception-klass. Fånga de exceptions som kastas och inte några andra. Lättare felsökning då om man i ett och samma try-block har olika möjliga Exception-typer.
Skräphögen har talat! MJÄ!