Delphi-PRAXiS
Seite 2 von 11     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Feststellen, ob Netzwerkkabel gezogen wurde? (https://www.delphipraxis.net/3672-feststellen-ob-netzwerkkabel-gezogen-wurde.html)

raffix 25. Mär 2003 21:02

Danke Daniel
 
Der Tip von Daniel hat mir schon weiter geholfen.
Die System Error Code Liste habe ich auch schon bei MSDN gefunden.
Allerdings gibt mir die WSAGetLastError nur die Fehler zurück, die in meiner Anwendung auftreten.
Wie kriege ich das hin, dass auch Fehler im System bemerkt werden?

raffix 25. Mär 2003 21:06

Zitat:

Zitat von Luckie
Dann kleb einen Zettel an jeden Arbietsplatz wo erste Selbsthilfemaßnahmen draufstehen, wenn man sich nichte inloggen kann:
- Caps gedrück
- NumLock aus
- Netzwerkkabel gezogen

Ähm, auf die Idee bin ich auch schon gekommen, aber es hängt noch
daran, dass es Bestandteil eines größeren Programms ist und da muss
ich nunmal feststellen, ob das Kabel DRINSTECKT.

Sagt mal, ist dann denn so schwer zu verstehen? :cry:

Echt, im Ernst, ich brauch doch lediglich eine Funktion, die feststellt,
ob das Kabel drinsteckt, das ist alles. Mehr nicht!!!!

Darkmorph 26. Mär 2003 15:36

an deiner stelle würde ich einfach das mit dem Ping beibehalten.
wenn ein Client alle 15sec oder 30sec den server anpingt wird das jawohl nicht gleich den Server killen, oder? war auch mal vor 1nem jahr noch in'ner Schule und die Server sind eigentlich grausam unterbelastet.


ich weiß leider nicht mehr wie die funktion heißt, aber es gibt glaube ich eine callback-funktion die eingehackte Programme über ein disconnect informiert. gib doch unter google mal: "+netzwerkverbindung +testen +delphi (+howto,+faq,tutorial)" ein. die stichwörter in der klammer nicht gleichzeitig...

MfG Ben

PS: Mehr fällt mir da imom auch nich ein...

Luckie 26. Mär 2003 19:21

Zitat:

Zitat von raffix
Sagt mal, ist dann denn so schwer zu verstehen? :cry:

Nein und wir haben es schon verstanden.
Zitat:

Echt, im Ernst, ich brauch doch lediglich eine Funktion, die feststellt,
ob das Kabel drinsteckt, das ist alles. Mehr nicht!!!!
Bitte nicht papig werden. Hier wurde dir schon geholfen. Da du es aber überlesen hast hir noch mal:
Zitat:

Zitat von Daniel
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 von MSDN-Library
Network is down.
A socket operation encountered a dead network. This could indicate a serious failure of the network system (that is, the protocol stack that the Windows Sockets DLL runs over), the network interface, or the local network itself.



novabeat 8. Jun 2004 23:16

Re: Feststellen, ob Netzwerkkabel gezogen wurde?
 
also bei mir gibt die funktion nicht wirklich diesen fehelercode zurück, wenn das netzwerkkabel gezogen wird !

NicoDE 8. Jun 2004 23:37

Re: Feststellen, ob Netzwerkkabel gezogen wurde?
 
Vielleicht hilft Dir InternetGetConnectedState(Ex) weiter.

supermuckl 9. Jun 2004 02:51

Re: Feststellen, ob Netzwerkkabel gezogen wurde?
 
hey luckie dein ton is aber auch nich grad erste sahne.. vielleicht hat ihm der code doch nicht geholfen ?!

:warn:

Tubos 9. Jun 2004 05:59

Zitat:

Zitat:

... Da es aber immer Scherzkekse gibt, die die Kabel rausziehen, war meine Überlegung, ein Delphi-Programm zu programmieren, das den Computer ausschaltet...
Was habt ihr denn da für einen Laden? Da diese und ähnliche Fragen sich in letzter Zeit häufen, glaube ich, daß es besser ist nicht mehr zu antworten. Das sieht nicht gerade nach einer sinnvollen Sache aus, eher nach Unfug.
Das glaube ich nicht.
Genau dasselbe Problem hatte ich in meinem Heimnetz auch (dabei handelt es sich um meine eigenen Computer).
Ich habe es aber damals nicht lösen können.
Die Sache mit dem Ping war auch nicht möglich da in einem Netz mit 2 PCs öfters auch nur einer eingeschaltet ist.

In der Code-Lib hat Daniel B mal einen Code mit GetSystemMetrics gepostet, mit dem man feststellen kann ob irgendeine Netzwerkverbindung hergestellt ist.
Möglicherweise liefert die Funktion dann false zurück, wenn das Netzwerkkabel gezogen wurde.
Das sieht so aus:
Delphi-Quellcode:
function IsNetworkConnected: Boolean;
begin
  if GetSystemMetrics(SM_NETWORK) and $01 = $01 then
  begin
    Result := True;
  end
  else
  begin
    Result := False;
  end;
end;

iaby 9. Jun 2004 08:31

Re: Feststellen, ob Netzwerkkabel gezogen wurde?
 
und den code noch etwas vereinfacht:
Delphi-Quellcode:
function IsNetworkConnected: Boolean;
begin
  Result := (GetSystemMetrics(SM_NETWORK) and $01) = $01;
end;
gruss,
iaby

Kasoft 9. Jun 2004 09:16

Re: Feststellen, ob Netzwerkkabel gezogen wurde?
 
Hey ist ja herrlich dass das noch ein Thema wird. Ich musste mich auch damit auseinander setzen.
Ich kann dir einige Informationen dazu geben. Zuerst einmal erhält Windows vom NDIS eine Nachricht
wenn Kabel ausgesteckt worden ist (Daher auch die Meldung unten in der Taskbar). So wie fängt man
sowas ab. Auf der NDIS seite hab ich dann einen C Code gefunden der mir ein bissel geholfen hat
aber wiederum auch nicht... (zu wenig kentnisse in C vielleicht würde es klappen wenn ich mich
jetzt wieder einlese) Aber ich habs dann doch noch gelöst über einen anderen unsauberen weg.
Das schreib ich aber nachher nach der Besprechung wo ich grad hingezwungen werde... :-)

MfG
Kasoft


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 Uhr.
Seite 2 von 11     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz