Entwickler-Ecke

Programmiersprachen (Client) - Prüfen ob eine Internetverbindung existiert


OliverN_26 - Fr 23.11.12 11:05
Titel: Prüfen ob eine Internetverbindung existiert
Hallo

Wie kann ich am einfachsten prüfen ob eine Internetverbindung existiert oder nicht?
Hintergrund ist z.B. jemand arbeitet ausserhalb (Keller oder wo man sonst noch nicht so ne tolle Verbindung hat) mit Laptop/Stick im Internet und hat demzufolge "manchmal" nicht gerade die beste (oder gar keine) Verbindung. Er hat sich aber, als gerade eben noch eine Verbindung bestand, ein Fenster in unserem Programm geöffnet. Fenster ist auf und er trägt seine Daten fleissig ein. 2-10 Minuten rum, er drückt speichern, hat aber zu dem Zeitpunkt schon keine Verbindung mehr. Fenster schliesst, Script greift nicht und Daten sind weg.
Ich würde also vor dem Speichern gern prüfen ob überhaupt eine Verbindung besteht.
Ich hatte mal was zurecht gebastelt mit PHP, aber wenn die Verbindung weg ist kann das Script logischerweise auch nicht mehr aufgerufen werden.

Ich hoffe ihr habt verstanden was ich meine :-)

Vielen Dank im voraus für jeden Tip

lg
Oliver


Narses - Fr 23.11.12 12:43

Moin!

user profile iconOliverN_26 hat folgendes geschrieben Zum zitierten Posting springen:
Wie kann ich am einfachsten prüfen ob eine Internetverbindung existiert oder nicht?
Man kann nicht erkennen, ob eine Internetverbindung besteht: http://www.marian-aldenhoevel.de/dojo/internet.html :nixweiss:

Notbehelf: Ping den Server an, bevor du versuchst, diesen mit Verarbeitung zu beauftragen. :idea:

cu
Narses


Regan - Mo 26.11.12 21:38

Es gibt die Möglichkeit [http://www.w3schools.com/jsref/prop_nav_online.asp], über navigator.onLine diesen Status vor dem Abschicken abzurufen.


Narses - Mo 26.11.12 21:42

Moin!

user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Es gibt die Möglichkeit [http://www.w3schools.com/jsref/prop_nav_online.asp], über navigator.onLine diesen Status vor dem Abschicken abzurufen.
Damit kannst du das "Online"-Flag abfragen, dass der User im Browser setzen kann. :idea: Das sollte wohl hier wenig helfen, denke ich. :nixweiss:

cu
Narses


Regan - Mo 26.11.12 22:39

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Damit kannst du das "Online"-Flag abfragen, dass der User im Browser setzen kann. :idea: Das sollte wohl hier wenig helfen, denke ich. :nixweiss:

Wo kann ich im Google Chrome, Chrome für Android, Safari, mobiler Safari dieses Flag setzen? Auf diesen Plattformen nutze ich diese Methode bis jetzt ohne Probleme. Ich habe für dich auch eine Test-Datei geschrieben [http://files.clemens-bartz.de/online.html].

Edit: selbst im Internet-Explorer kann ich mich nicht offline schalten (zumindest nicht in der Version, die ich habe) und dort wird alles auch korrekt erkannt.


OliverN_26 - Di 27.11.12 09:09

Hallo

Im Mozilla bleibts leer ?!


Martok - Di 27.11.12 10:18

user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Wo kann ich im Google Chrome, Chrome für Android, Safari, mobiler Safari dieses Flag setzen?
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Edit: selbst im Internet-Explorer kann ich mich nicht offline schalten (zumindest nicht in der Version, die ich habe) und dort wird alles auch korrekt erkannt.
Womit einmal mehr gezeigt wäre dass das keine Browser sind :roll:

user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe für dich auch eine Test-Datei geschrieben [http://files.clemens-bartz.de/online.html].
Gibt's auch fertig in deinem Link [http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_nav_online], dort kann man wenigstens die Option testen, ohne sich das F5-en zu verbauen ;)

Zeigt wie erwartet nur die UI-Option an. Selbst das (einzige) Netzwerkinterface deaktivieren ändert nichts, und das ist glaube ich die einzige Form von "Offline", die man sinnvoll prüfen könnte.


Regan - Di 27.11.12 17:55

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Wo kann ich im Google Chrome, Chrome für Android, Safari, mobiler Safari dieses Flag setzen?
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Edit: selbst im Internet-Explorer kann ich mich nicht offline schalten (zumindest nicht in der Version, die ich habe) und dort wird alles auch korrekt erkannt.
Womit einmal mehr gezeigt wäre dass das keine Browser sind :roll:

Was hat das damit zu tun?

Tatsächlich hat die Eigenschaft nicht die Funktion, die ich bis jetzt immer angenommen habe (ich habe den Code auch nur von Google selbst übernommen). Denn auch Mozilla schreibt:
Mozilla [https://developer.mozilla.org/en-US/docs/DOM/window.navigator.onLine] hat folgendes geschrieben:

Browsers implement this property differently.

Damit stellt sich natürlich der Sinn über diese Eigenschaft? Am Ende könnte ich natürlich immer noch die eigene Seite mit einem HEAD-Befehl pollen, aber das ist auch nicht wünschenswert.