# PC mit Ping überwachen



## ecki (29. Sep 2010)

Hallo zusammen,
bin gerade auf der Suche nach einer Lösung für folgende Aufgabe:

Es soll ein PC mittels Ping überwacht werden. Auf einer HTML Seite soll ein grünes Rechteck dargestellt
werden. Ist der PC nicht mehr erreichbar, soll sich die Farbe ändern. 

Die Aktualisierung des Rechtecks soll möglichst zeitnah erfolgen ohne kompletten Seitenaufbau der HTML Seite.

Wird dazu ein Servlet zum pingen benötigt und ein Applet, welches den Zustand des Servlet Objektes überwacht?


Meine Frage bezieht sich jetzt nicht auf eine konkretes Implemtierungsbeispiel sondern eher auf einen Vorschlag der anzuwendenden Architektur. 

Vielen Dank und Gruß
ecki


----------



## Spitfire777 (29. Sep 2010)

Brauchst im Prinzip nur ein Applet, wenn du es mit Java machen willst.
Das Applet lässt halt einfach eine Endlosschleife laufen, sodass es alle 10 Sekunden per Socket überprüft, ob der Host erreichbar ist. Dies kannst du machen, indem du eine UnknownHostException abfängst und im catch-Teil die Farbe auf rot änderst.

So im Prinzip (nicht getestet)


```
try {
                while (true) {
                    try {
                        Thread.sleep(1000); // Eine Sekunde warten
                        new Socket("192.168.2.133", 1337); // Verbindung herstellen
                        
                        // ... belasse Farbe grün
                    }
                    catch (UnknownHostException exc) {
                        // zeige farbe rot
                    }
                }
            }
            catch (InterruptedException exc) {
                exc.printStackTrace();
            }
```


----------



## ecki (29. Sep 2010)

Sorry, hab oben noch einen Teil vergessen. Der PC darf nur von einem Server angesprochen werden. Also nicht vom Client(Browser).
Deshalb gehe ich davon aus, dass das Applet dann mit einem Servlet kommunizieren muss.
Verstehe ich das richtig, dass wenn sich das Rechteck aktualisieren soll immer eine Anfrage vom Applet -> Servlet erfolgen muss,
oder kann bei einer Änderung im Servlet das Applet benachrichtigt werden ?


----------

