Verfügbare Clients prüfen ohne ping

G

Gästin

Gast
Hallo,

in meinem Netzwerk, wo sich manche Clients ab und zu abschalten, möchte ich überprüfen, wer alles da ist. Allerdings darf das nicht mit isReachable passieren.
Hat jemand ne andere Idee? Habs auch schon versucht, ne UDP-Anfrage an die Broadcast-Adresse zu schicken, aber das hat auch nciht geklappt.

Vorschläge?
 
N

nillehammer

Gast
Kannst Du Deinen Anwendungsfall noch etwas genauer beschreiben? Sind die Clients im Voraus bekannt? Warum darf es nicht isReachable sein? Sind die Clients im selben IP-Subnetz wie der Rechner, auf dem Deine Anwenung läuft (wg. Broadcasts)?
 
S

SlaterB

Gast
wenn man sowas nicht darf, darf man den Clients dann auch nicht normale Nachrichten schicken für was immer der Programmzweck ist?
ist eine solche Nachricht nicht quasi auch ein Ping? ;)
 
G

Gästin

Gast
Also, diese Maschinen, deren Verfügbarkeit geprüft werden soll, können zwar JAVA, aber eben nicht alles, da nicht alles implementiert ist. Bei isReachable oder receive bekomme ich die Fehlermeldung "nicht implementiert".
Ich sag mal, je einfacher (von der Version her), desto besser.
 
S

SlaterB

Gast
nochmal: was sind Clients im Client-artigen Sinne, besteht irgendeine Art von Kommunikation?
wenn ja dann kann doch diese Kommunikation auch zum kurzen Check genutzt werden
oder ist sie eingeschränkt nur auf wichtige Daten/ lange Bearbeitung?
 
G

Gästin

Gast
Die Maschinen hängen alle an einem Switch, sind also über Ethernet verbunden und haben demnach eine IP-Adresse.
Jetzt soll eine Maschine rausfinden können, wer alles am Netz ist.
 
N

nillehammer

Gast
Gästin hat gesagt.:
Die Maschinen hängen alle an einem Switch, sind also über Ethernet verbunden und haben demnach eine IP-Adresse.
Jetzt soll eine Maschine rausfinden können, wer alles am Netz ist.
Sind die IPs auch alle im selben IP-Subnetz? Sonst funktionierts mit Brodcasts nicht. Und sind die IPs der zu prüfenden Geräte vorher bekannt? (Hab ich zwar schon gefragt, aber...)
Gästin hat gesagt.:
Also, diese Maschinen, deren Verfügbarkeit geprüft werden soll, können zwar JAVA, aber eben nicht alles, da nicht alles implementiert ist. Bei isReachable oder receive bekomme ich die Fehlermeldung "nicht implementiert".
Es muss doch nur die Maschine, die die Verfügbarkeit prüfen soll, isReachable implementiert haben. Die anderen Maschinen müssen nur auf Pings antworten. Und ein Gerät, das einen IP-Stack hat, aber nicht auf Pings antworten kann, hab ich noch nie gesehen. Es sei denn natürlich, jemand hat das auf einer (Host-)Firewall mit Absicht so konfiguriert.
 
G

Gäastin

Gast
Die IPs sind 192.168.x.x also müsste das gehen.

Niemand kann isReachable. Die können zwar theoretisch antworten, aber es kann niemand nen ping starten.
 
G

Gast2

Gast
Moin,

Die IPs sind 192.168.x.x also müsste das gehen.
"müsste" ist kein "es funktioniert"

Die können zwar theoretisch antworten, aber es kann niemand nen ping starten.
zwei Dinge - setze Dich bitte mit den grundlegenden Funktionen des Netzwerkes auseinander (eine Antwort auf einen Ping muss nicht initiert werden). Außerdem hatten wir das Thema vor ein paar Wochen schonmal. Suche bitte danach - dort ist auch eine Antwort zu finden.

hand, mogel
 
S

Spacerat

Gast
Eines können sicher alle... [c]InetAddress.getByName("192.168.x.x") throws UnknownHostException[/c] Diese Exception kann man abfangen und dann weis man, ob der Host "reachable" ist.
[EDIT]Wenn man einen Timeout benötigt, kann man mit 'nem Task-Scheduler oder einem anderen Thread auch diese Zeit warten und eine entsprechende Exception werfen. Nur für den Fall, dass das Warten auf die Host-Antwort zu lange dauert. Aber in Private-Networks dürfte das unnötig sein.[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:
N

nillehammer

Gast
Spacerat hat gesagt.:
Eines können sicher alle... InetAddress.getByName("192.168.x.x") throws UnknownHostException Diese Exception kann man abfangen und dann weis man, ob der Host "reachable" ist.
Was soll das bringen? Mit der Methode erzeugt man sich eine Instanz von InetAddress entweder per Hostname, der dann auf eine IP aufgelöst wird oder per IP. Ob der Host tatsächlich an ist, findet man damit nicht raus.
Gästin hat gesagt.:
Niemand kann isReachable. Die können zwar theoretisch antworten, aber es kann niemand nen ping starten.
Was sind den das für komische JVMs, mit denen Du da arbeitest!?! Hast Du denn Zugriff auf die Konsole und könntest von dort einen ping absetzen? Falls ja, könntest Du das von Java aus antriggern (Runtime.exec).
Gästin hat gesagt.:
Die IPs sind 192.168.x.x also müsste das gehen.
Broadcasts funktionieren nur im selben IP-Subnetz. Ein Subnetz entsteht durch IP-Adresse und Subnetzmaske. Dazu ein paar Beispiele:
Code:
# Adressen im selben Subnetz
192.168.1.1/255.255.255.0
192.168.1.2/255.255.255.0
# Broadcastadresse für beide 192.168.1.255, geht also

# Adresse fängt zwar mit 192.168 an, is aber in einem 
# anderen Subnetz.
192.168.100.2/255.255.255.0
# Broadcastadresse 192.168.100.255, anders als oben,
# funktioniert also nicht.
 
Zuletzt bearbeitet von einem Moderator:
S

Spacerat

Gast
Äh... mit IP-Addresse als Name muss da aber nichts aufgelöst werden und der Host wird damit nicht über DNS aufgelöst sondern direkt angesprochen. Aber wenn das nicht funktioniert, evtl. reagieren die Rechner ja auf Echo (Port 7). Einfach mal ein paar Pakete hinschicken und auf Rückmeldung warten. Anders macht's Ping afaik auch nicht.
 
N

nillehammer

Gast
Spacerat hat gesagt.:
Äh... mit IP-Addresse als Name muss da aber nichts aufgelöst werden und der Host wird damit nicht über DNS aufgelöst sondern direkt angesprochen.
Der host wird bei der diskutierten Programmzeile überhaupt nicht angesprochen. Es wird lediglich eine Instanz von InetAddress erzeugt. Solange der angegebene Hostname aufgelöst werden kann, oder es ein IP-String ist, klappt das egal, ob der Host erreichbar ist oder nicht. Zum Test der Erreichbarkeit taugt diese Methode also nicht.
Spacerat hat gesagt.:
Aber wenn das nicht funktioniert, evtl. reagieren die Rechner ja auf Echo (Port 7). Einfach mal ein paar Pakete hinschicken und auf Rückmeldung warten. Anders macht's Ping afaik auch nicht.
Ja, beide schicken Pakete und warten auf ne Antwort. Aber das eine hat ansonsten mit dem anderen technisch nichts zu tun. Ping arbeitet mit dem ICMP. Das geht bei so ziemlich allen Geräten, die einen IP-Stack haben. Echo ist ein Serverdienst, der über TCP oder UDP erreichbar ist. Dazu muss dieser Dienst laufen und das tut er bei fast keinem System.

Aber die Idee ist trotzedem garnicht so schlecht. Denn Systeme reagieren irgendwie immer, wenn sie angesprochen werden. Auch auf Ports, wo nichts lauscht. Bei Versuch, einen geschlossenen UDP-Port anzusprechen erhält man i.d.R ein ICMP-Port unreachable als Antwort, bei TCP ein TCP-Reset. Wenn solche Antworten kommen, kann man also zumindest daraus schließen, dass der entspr. Host an ist.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
R Antwort vom Server an mehreren Clients senden Java Basics - Anfänger-Themen 3
G Multiple Clients and one Server Java Basics - Anfänger-Themen 2
D Erste Schritte Quit in IRC Clients Java Basics - Anfänger-Themen 7
L Server mit mehreren Clients Java Basics - Anfänger-Themen 25
W mehrere clients auf einem server Java Basics - Anfänger-Themen 2
B Clients aufsammeln und in JTable packen Java Basics - Anfänger-Themen 8
A ServerSocket accept bei mehreren Clients? Java Basics - Anfänger-Themen 2
B Disconnect des Clients feststellen Java Basics - Anfänger-Themen 2
P flash-based java clients Java Basics - Anfänger-Themen 3
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
I Auf vollen Monat prüfen? Java Basics - Anfänger-Themen 22
A Dateiname auf Vorkommen prüfen Java Basics - Anfänger-Themen 29
I Prüfen, ob Anzahl an Monate ein Jahr ergeben Java Basics - Anfänger-Themen 4
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
W Klasse existiert prüfen Java Basics - Anfänger-Themen 5
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
M Array auf Primzahlen prüfen Java Basics - Anfänger-Themen 7
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
J ArrayList auf bereits vorhanden eintrag prüfen Java Basics - Anfänger-Themen 5
X Zwei Dimensionales Array prüfen Java Basics - Anfänger-Themen 1
B Prüfen, ob Zeit Überschreitung Java Basics - Anfänger-Themen 2
B Sudoku prüfen Java Basics - Anfänger-Themen 13
M Prüfen auf null ohne NPE Java Basics - Anfänger-Themen 1
X Array auf Leerstellen prüfen Java Basics - Anfänger-Themen 1
FelixN Prüfen, ob ein 2D-Array rechteckig ist Java Basics - Anfänger-Themen 42
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
C Array auf Null-Inhalte prüfen Java Basics - Anfänger-Themen 9
B Prüfen, ob Country Code in Europa ist? Java Basics - Anfänger-Themen 24
L Prüfen ob Fax (Tif-Datei) vollständig angekommen ist Java Basics - Anfänger-Themen 15
O Datenstruktur auf SET prüfen in O(n) Java Basics - Anfänger-Themen 32
O Einzelne Bits umwandeln und prüfen Java Basics - Anfänger-Themen 23
U Mehrfacheingabe auf bestimmte Parameter prüfen Java Basics - Anfänger-Themen 8
B Prüfen, ob Datum2 der gleiche Tag ist wie Datum1 Java Basics - Anfänger-Themen 10
Dimax Erste Schritte String Eingabe Prüfen Java Basics - Anfänger-Themen 11
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
S Array doppelter Wert prüfen Java Basics - Anfänger-Themen 7
B Prüfen, ob es schon einen Termin gibt in einem Zeitraum Java Basics - Anfänger-Themen 5
K Linux Speicherplatz mit Java prüfen Java Basics - Anfänger-Themen 4
O Array nach gleichen Zahlen prüfen und ausgeben Java Basics - Anfänger-Themen 6
G Compiler-Fehler Auf Anagramm prüfen Java Basics - Anfänger-Themen 1
B Excel File einlesen und Überschrift prüfen Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Input/Output Prüfen wie oft etwas eingegeben wurde Java Basics - Anfänger-Themen 2
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
S Prüfen ob Zelle in Excel leer ist funktioniert nicht (Apache POI) Java Basics - Anfänger-Themen 18
C Klassen Reguläre Ausdrücke auf Gleichheit prüfen Java Basics - Anfänger-Themen 5
M Erste Schritte Java prüfen ob eine der Möglichkeiten erfüllt ist Java Basics - Anfänger-Themen 2
R Auf Nachkommastellen prüfen. Java Basics - Anfänger-Themen 2
P Argumente auf plausibilität prüfen... Java Basics - Anfänger-Themen 8
F LimitedQueue auf Datum prüfen Java Basics - Anfänger-Themen 6
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11
Tommy Nightmare Variable auf mehrere Ungleichheiten prüfen Java Basics - Anfänger-Themen 18
B String mit Emailadresse prüfen Java Basics - Anfänger-Themen 11
E 2D Arrays auf Ungleichheit prüfen! Java Basics - Anfänger-Themen 5
MrSnake Prüfen ob TitledPane schon besteht Java Basics - Anfänger-Themen 2
B Serial Key prüfen -> String mit privatem Key und dann abgleichen; Summe = 0 Java Basics - Anfänger-Themen 8
N Compiler-Fehler Iban prüfen Java Basics - Anfänger-Themen 7
J Prüfen ob Arrays nur mit einem Wert belegt sind Java Basics - Anfänger-Themen 3
M String prüfen Java Basics - Anfänger-Themen 7
E Prüfen ob Sammlung gesetzt wurde - Lebensmittelsammlung Java Basics - Anfänger-Themen 8
H Zufällig generierte Zahlen auf Eingabe prüfen Java Basics - Anfänger-Themen 5
S Prüfen ob bestimmter Ordner geöffnet ist (Windows XP) Java Basics - Anfänger-Themen 5
Ruvok Prüfen ob bestimmtest Element existiert im Array Java Basics - Anfänger-Themen 11
DeVolt Java8 Paket Time: Datum prüfen / try-catch Java Basics - Anfänger-Themen 1
W char-Array auf bestimmte Zeichen prüfen Java Basics - Anfänger-Themen 10
S String auf Pallindromeigenschaft prüfen Java Basics - Anfänger-Themen 15
AssELAss Datums-Objekt prüfen ob im gleichen Monat? Java Basics - Anfänger-Themen 5
Screen Input/Output Wie prüfen ob Stream1 in Stream2 enthalten ist (on-the-fly) ? Java Basics - Anfänger-Themen 5
P Seite auf Inhalt prüfen Java Basics - Anfänger-Themen 2
I Prüfen ob Webseite existiert Java Basics - Anfänger-Themen 3
Z Inputs prüfen Java Basics - Anfänger-Themen 6
G Textdatei auf Dubletten prüfen Java Basics - Anfänger-Themen 8
I Prüfen von zwei Listen Java Basics - Anfänger-Themen 1
K zwei Rechtecke auf Berührung prüfen Java Basics - Anfänger-Themen 2
G String auf Format prüfen Java Basics - Anfänger-Themen 3
J Eingabewert übergeben und prüfen von showInputDialog Java Basics - Anfänger-Themen 4
L 6stellige Zufallszahlen erzeugen & auf einzigartigkeit prüfen Java Basics - Anfänger-Themen 3
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
M Prüfen, ob Zeichen eine Zahl ist Java Basics - Anfänger-Themen 3
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
C Datentypen Prüfen of eine Zahl Quadratzahl ist Java Basics - Anfänger-Themen 2
K Eindimensionalen Array prüfen Java Basics - Anfänger-Themen 5
M Konstruktor auf null prüfen, Arrays Java Basics - Anfänger-Themen 9
O Prüfen ob ein String den selben Namen hat wie eine Booleanreihe? Java Basics - Anfänger-Themen 17
J Arrays prüfen und über if Bedingung ausgeben Java Basics - Anfänger-Themen 15
B Interface Generics: prüfen ob Interface deklariert wird Java Basics - Anfänger-Themen 18
L Erste Schritte Einträge in ArrayList prüfen Java Basics - Anfänger-Themen 4
S OOP long prüfen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben