![]() |
Feststellen, ob Netzwerkkabel gezogen wurde?
Hi@all,
hab' mal ne kleine Frage, ich denke die meisten wissen, wie man sowas programmiert. Und zwar Windows bemerkt es doch sofort, wenn ich das Netzwerkkabel rausziehe, wie kann ich programmieren, dass auch meine Delphi-Anwendung das feststellt? Bis jetzt hatte ich das immer so gemacht, dass die Clients einfach alle 2 Sekunden einen Ping losschicken, allerdings erhöht das den Traffic enorm und außerdem, wenn der Server mal ausfällt (bzw. überlastet ist), dann ist's vorbei mit dem Ping. Beim Ping brauche ich auch immer ein Gegenstück. Am Anfang dachte ich es geht, einen Ping an 127.0.0.1 zu schicken, aber das geht auch, wenn das Kabel nicht mehr drin steckt, war also keine gute Lösung. Habt ihr irgendeine Idee? |
dann ping doch einen anderen Rechner an. Wird zwar auch nicht viel nützen, aber es wäre Server-unabhängig. :mrgreen:
|
Ne, jetzt im Ernst, da muss es doch eine Möglichkeit geben.
Ich kann nicht 100 Rechner irgendwas anpingen lassen, das muss schon vernünftig programmiert sein. Gibt es sonst noch irgendeine Lösung? |
Zitat:
|
Zitat:
Ich möchte lediglich eine Komponente, die mir sagt, wann das Netzwerk- kabel rausgezogen wurde, mehr nicht! Dabei wäre es nicht schlecht, wenn ich einfach nichts anpingen müsste. Also, ich sag' euch jetzt mal, wozu das gut sein soll: Alle Computer sind bei uns mit dem Netzwerk verbunden. Da es aber immer Scherzkekse gibt, die die Kabel rausziehen, war meine Überlegung, ein Delphi-Programm zu programmieren, das den Computer ausschaltet, sobald das Kabel rausgezogen wird. Wenn ich jedoch bspw. einen Server anpinge und ich diesen neustarte, dann gehen alle Rechner aus, das will ich nicht, deswegen möchte ich es möglichst ohne Ping! Jetzt alles klar? Der andere Punkt ist, wenn der Traffic im Netzwerk sehr hoch ist, hat ein Ping zu lange Laufzeiten, deswegen ist das auch nicht günstig. Deshalb gibt es irgendeine Möglichkeit, wie Windows das macht, wenn das Kabel gezogen wird, das meine Delphi-Anwendung das auch merkt? |
Zitat:
Zitat:
|
Hallo,
ich denke, wir sollten nicht vorschnell urteilen. Die Ausgangsfrage wurde sachlich und vernünftig gestellt und ich sehe in der Thematik keine unmittelbare Problematik, welche einer Beantwortung dieser Frage im Wege stehen könnte. keep cool... :wink: |
Unter Umständen könntest Du versuchen, irgendwas mit den Windows-Sockets zu veranstalten; dort gibt es eine Funktion "WSAGetLastError", welche u.A. den Code "WSAENETDOWN" zurückliefert, welcher wie folgt beschrieben ist:
Zitat:
|
Zitat:
Leider kann ich eurer Diskussion nicht ganz folgen. Ich bin der Administrator dieses Netzes, was heißt entlassen, also momentan verstehe ich bloß Bahnhof, und zweitens kann man keinen Schüler der Schule verweisen, bloß weil er ein Kabel rausgezogen hat. Es ist einfach so, dass wir Administratoren immer wieder von Lehrern gerufen werden, weil man sich an einem Computer nicht anmelden kann. Und jedesmal kommen wir, schauen an der Rückseite, "ah ha, das Kabel ist mal wieder draußen"! Wenn das aber durch ein Programm verhindert wird, sprich der Computer geht immer aus, dann sagen wir den Lehrern einfach, wenn ein Rechner ausgeht, dann schaut nach dem Kabel und wir haben unsere Ruhe. Das ist in Kurzfassung eigentlich der Grund, warum ich so ein Kontrollprogramm brauche. Um genauer zu sein ist dieses "kleine" Programm nur ein Bestandteil eines viel größeren Programms und dieses kleine Problem mit dem Kabel ist das letzte, das ich noch habe. |
Dann kleb einen Zettel an jeden Arbeitsplatz wo erste Selbsthilfemaßnahmen draufstehen, wenn man sich nicht einloggen kann:
- Caps gedrück - NumLock aus - Netzwerkkabel gezogen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz