Überprüfen ob Server Online ist

  • 13 Antworten
  • Letztes Antwortdatum
K

Keybladmaster

Neues Mitglied
1
Hey, Hey

Ich habe eine Frage, wie kann ich Überprüfen ob ein Server z.B. Google.de
Online ist? Mit Socket bekomme ich es nicht hin.

Code:
String URL = "http://www.Google.de";
int PORT = "25565";

Socket s = new Socket(URL, PORT);

if (s == true) {

Toast.makeText(this, "Server Online", Toast.LENGTH_SHORT).show();

else

Toast.makeText(this, "Server Offline", Toast.LENGTH_SHORT).show();
}

Kann mir einer Helfen?

LG Keybladmaster
 
Ping?

Gesendet von meinem Nexus 10 mit der Android-Hilfe.de App
 
In Java kann man Server Anpingen?!?
Wusste ich gar nicht.

Wie geht denn das :p ?

LG Keybladmaster
 
InetAdress.isReachable(timeout)
 
Danke :)

LG Keybladmaster
 
Mit Socket müsste das auch gehen, nur kannst du nicht s== true prüfen. s ist ja kein boolean Wert.
Und du müsstest einen Port auswählen, der auch offen ist.
s.isConnected() wäre da die richtige Methode.

Damit könntest du z.B. nicht nur prüfen ob ein Host erreichbar ist, sondern auch ein spezieller Port.
 
Achso, Danke!

Habe aber trz. noch ein Problem wen ich nach Google oder so
Suche zeigt er mir Online/Offline an aber wen ich z.B nach einem FTP Server frage zeigt er mir gar nichts von beiden an?!?

Warum?

Code:
try {
			if (InetAddress.getByName("http://meinftpserver.eu.de").isReachable(2000))
			{
				Toast.makeText(this, "MessagerTwo Server ist
Online", Toast.LENGTH_SHORT).show();
			}
			else
			{
				Toast.makeText(this, "MessagerTwo Server ist Offline", Toast.LENGTH_SHORT).show();
			}
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

(Beispiel ftp name :))

LG Keybladmaster
 
Also wenn du eine HTTP Adresse eingibts aber ein FTP Server ansprechen willst, kann das glaub ich nicht klappen, wobei ich nicht genau weiß was InetAdress daraus macht.
Aber wenn er versucht auf Port 80 (Standard HTTP Port) auf den Server zuzugreifen wird das nicht fuktionieren, wenn dort nur ein FTP Server (Port 21) hinter liegt.
 
Also, man greift doch ohne www. auf den FTP zu.
Wie soll ich das dann am Besten angehen?
 
nicht zwingend.
Du musst den Unterschied zwischen einem Host und einem Dienst verstehen.
Der Host ist der Rechner im Netzwerk auf diesem können verschiedene Dienste laufen.
HTTP ist ein Dienst, FTP ein anderer. Die können auch beide auf dem gleichen Host laufen.

Dein problem sollte sich übrigens so lösen:

InetAddress.getByName("meinftpserver.eu.de").isReachable(2000)

Also nur die Hostadresse, eigentlich müsste in deinem Beispiel eine UnknownHostException geworfen werden.
nur wenn du die abfängst und mit printstacktrace irgendwohinschreibst siehst du das natürlich nicht.
 
Ok, Danke!

Aber mein FTP Server ist Online, bekomme aber
ausgegeben das er Offline ist.

LG Keybladmaster
 
Mein Handy ist Gerootet.
Und SuperUser Fragt nicht nach!

LG Keybladmaster
 
Ja das wird so sein weil java nicht nachfragt ob es root rechte haben kann.
Es versucht einfach das ganze auszuführen, und dann klappt das nicht.
Ich weiß auch nicht ob es wirklich das Problem ist aber zumindest liest sich das so in der JavaDoc
 
Zurück
Oben Unten