AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Netzwerk getrennt

Ein Thema von trifid · begonnen am 27. Jan 2006 · letzter Beitrag vom 6. Feb 2006
Antwort Antwort
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#1

Netzwerk getrennt

  Alt 27. Jan 2006, 14:10
Gibt es ein Ereignis/Message/API das man abfangen kann, wenn die Netzwerkverbindung getrennt wird?
(z.B. Netzwerkkabel aus der Dose ziehen)
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#2

Re: Netzwerk getrennt

  Alt 3. Feb 2006, 15:43
gibt es dafür einen Lösungsansatz?
  Mit Zitat antworten Zitat
Benutzerbild von retnyg
retnyg

Registriert seit: 11. Feb 2005
193 Beiträge
 
#3

Re: Netzwerk getrennt

  Alt 3. Feb 2006, 17:04
MSDN-Library durchsuchenRestoreMediaSense //interessant, im PSDK aber nicht auf der msdn site
Bei Google suchenRestoreMediaSense
  Mit Zitat antworten Zitat
Neotracer64

Registriert seit: 27. Okt 2004
292 Beiträge
 
Delphi 7 Professional
 
#4

Re: Netzwerk getrennt

  Alt 3. Feb 2006, 17:33
http://windowssdk.msdn.microsoft.com...mediasense.asp
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#5

Re: Netzwerk getrennt

  Alt 3. Feb 2006, 22:20
Danke - da wäre ich nie drauf gekommen.

Aber leider ist diese API erst ab WinXP und .net zu haben.
Brauch diese aber für Win32 (WinNT,Win2k,WinXP).
Sicherlich könnte man alle Minute einen Ping absetzen, aber
a) Resourcenschonender ist ein Event oder eine Message
b) je schneller ich reagieren kann um so besser ist es für die Anwendung um Abläufe sperren zu können
c) einen Treiber wollte ich nicht programmieren
Anders kommt man da nicht ran?
  Mit Zitat antworten Zitat
ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: Netzwerk getrennt

  Alt 3. Feb 2006, 22:27
Hmm, bin mir nicht sicher, aber ändert sich nicht deine IP Adresse beim ausziehen des LAN Steckers?
  Mit Zitat antworten Zitat
ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Netzwerk getrennt

  Alt 3. Feb 2006, 23:10
So etwas könnte gehen:

Delphi-Quellcode:
function GetLocalIPs(bGetAll: Boolean = True): string;
type
  PPInAddr = ^PInAddr;
var
  wsadata : TWSAData;
  hostinfo : PHostEnt;
  addr : PPInAddr;
begin
  Result := '';

  if(WSAStartUp($0101,wsadata) = 0) then // $0101 = Version 1.1 (Achtung: Ver 2.0 wäre $0002)
  try
    hostinfo := gethostbyname(nil);
    if(hostinfo <> nil) then begin
      addr := pointer(hostinfo^.h_addr_list);

      while(addr^ <> nil) do begin
        Result := Result + inet_ntoa(addr^^);
        If not bGetAll then Break;
        inc(addr);
        If addr^ <> nil then Result := Result + ^M^J;
      end;
    end;
  finally
    WSACleanUp;
  end;
end;
Der Parameter bGetAll gibt an, ob er nur die erste HauptIP (False) oder alle vorhandenen IPs (True) auslesen soll.
Ist kein Netzwerk (auch kein IP Stack,etc) vorhanden, so gibts einen leeren String zurück.
Gibts einen String zurück, so kann folgendes geprüft werden:


If Result = '127.0.0.1' then ... // LAN Kabel ausgesteck oder Netzwerkverbindung getrennt
else ... // Mit LAN verbunden
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#8

Re: Netzwerk getrennt

  Alt 6. Feb 2006, 09:33
Danke.
Das Beispiel ist eine andere Art einen Ping abzusetzen ...
d.h. für mich, dass ich kein Ereignis bekomme
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#9

Re: Netzwerk getrennt

  Alt 6. Feb 2006, 10:03
Weiss nicht warum es dir nicht gefällt, die funktion von ken_jones funzt bei mir (braucht WinSock) mit ca 4 Sekunden Verzögerung. Okay, ein Event wird nicht ausgelöst, aber das muss man abwägen ob das eine essentielle Fähigkeit ist oder obs ein Timer auch tut...


Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#10

Re: Netzwerk getrennt

  Alt 6. Feb 2006, 10:23
Klar, der Timer wirft auch ein Ereignis ab.
Wahrscheinlich werde ich es irgendwie so machen, da ich unter WinNT keine andere Wahl habe.

Mal von einer anderen Seite betrachtet.
Bekommt der Server irgendeine Information, dass der Anwender sich abgestöpselt hat?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 Uhr.
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