![]() |
Re: Delphianwendungen verbinden
Hallo, erstmal.
Der Client kann nix vom Server wissen, deshalb geht das so nicht. Der Client weiss aber, ob er zum Server verbunden ist. Die Abfrage muesste also demzufolge
Delphi-Quellcode:
heissen, denke ich.
if ClientSocket1.Connect(ed) then
MfG |
Re: Delphianwendungen verbinden
Zitat:
Man könnte das ungefähr so lösen:
Delphi-Quellcode:
Wenn du nur wissen willst ob der Server PC läuft, kann man das mit einem Ping herausfinden
try
ClientSocket1.Active := True; except { Ereignis, das eintretten soll, wenn Server nicht aktiv ist } end;
Delphi-Quellcode:
function Ping(IP:string; TimeOut:Cardinal):Boolean;
var hICMP : DWORD; pierWork : PICMP_ECHO_REPLY; dwSize : DWORD; Class1,Class2,Class3,Class4 : String; i,j : Byte; begin Result:=False; j:=1; for i:=1 to Length(IP) do begin if IP[i]<>'.' then begin case j of 1: Class1:=Class1+IP[i]; 2: Class2:=Class2+IP[i]; 3: Class3:=Class3+IP[i]; 4: Class4:=Class4+IP[i]; end; end else Inc(j); end; hICMP := IcmpCreateFile; if hICMP = INVALID_HANDLE_VALUE then exit; try dwSize := SizeOf(ICMP_ECHO_REPLY)+8; pierWork := AllocMem(dwSize); try if IcmpSendEcho(hICMP,MAKELONG(MAKEWORD(StrToInt(Class1), StrToInt(Class2)),MAKEWORD(StrToInt(Class3), StrToInt(Class4))),nil,0,nil,pierWork,dwSize,TimeOut) = 0 then Result:=False else Result:=True; finally FreeMem(pierWork,dwSize); end; finally IcmpCloseHandle(hIcmp); end; end; |
Re: Delphianwendungen verbinden
Hallo Zusammen,
Danke für Eure Hilfe, ich denke ich kann mit den beiden Funktionen mein Problem beheben, ich werde zuerst mit ping testen ob der andere PC überhaupt aktiv ist und dann kann ich sehen ob der Client connected ist. Vielen Dank juezi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 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