Ich kenne isReachable() und habe es damit versucht. Leider hat das IMMER nur false zurückgeben, egal mit welcher IP ich es versucht habe. Mir ist dann eingefallen, dass ich früher bereits einen Portscanner gecodet habe (ok, war eins meiner ersten Projekte und mehr zusammengebastelt als gecodet), aber da hatte ich das mit try/catch abgefangen. Das läuft zwar schon um einiges besser, aber immer noch nicht perfekt.
Es liefert bei existierenden Servern bzw. bei geöffneten Ports true zurück, bei den meisten willkürlichen nicht existierenden false. Nur leider habe ich das Problem, dass er manchmal bei nichtexistierenden Servern hängt, also weder fortfahrt, noch in die catch springt.
Sagt mir bitte was ich da ändern sollte:
Es liefert bei existierenden Servern bzw. bei geöffneten Ports true zurück, bei den meisten willkürlichen nicht existierenden false. Nur leider habe ich das Problem, dass er manchmal bei nichtexistierenden Servern hängt, also weder fortfahrt, noch in die catch springt.
Sagt mir bitte was ich da ändern sollte:
Java:
package core;
public class Main
{
private final String ip = "193.99.144.71";
private final int port = 80;
public Main()
{
if(this.checkServerAlive(this.ip, this.port))
System.out.println("OK");
else
System.out.println("Niemand zu Hause. ._.\"");
}
private boolean checkServerAlive(String ip, int port)
{
try
{
new java.net.Socket(ip, port);
return(true);
}
catch(Exception e){}
return(false);
}
public static void main(String[] args)
{
new Main();
}
}