Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy Connection Reset by Peer Abfangen (https://www.delphipraxis.net/7215-indy-connection-reset-peer-abfangen.html)

Cyrus1972 5. Aug 2003 23:06


Indy Connection Reset by Peer Abfangen
 
Hallo zusammen, bin neu hier und stehe vor einen Problem mit dem Indy UPD Client.

Vorhaben.
Ich Möchte gerne ein GameServer Query tool für meinen Clan schreiben
doch bekomme ich Manchmal bei einer ServerAbfrage ein Exception Connection Reset By Peer.

Frage kann man so eine Exception im Vorhinein abfangen, so das man den Rest der Verbleibenen Server Abfragen kann ??.

Und So Schaut mein Code aus.. ;)

!!!udp. ist der TidUdpClient!!!

Delphi-Quellcode:
Procedure TForm1.RTCWReadServers(Server : TObject);
 var MyServer : PServer;
     Timeout,i : integer;
     MyHandle : TIDSocketHandle;
     Buffer   : String;
begin
 myServer          := pServer(Server);
 Timeout           := 100;
 MyHandle          := udp.Binding;
 udp.ReceiveTimeout := Timeout;
 ServerRead := False;
 for i := 1 to 3 do begin // Max 2 Versuche!!!
  udp.Send(RTCWsQuery);
  if WaitForSingleObject(myHandle.Handle,Timeout) = WAIT_TIMEOUT then begin
   Inc(TimeOut,50);
   udp.ReceiveTimeout := Timeout;
  end;
  if myHandle.Readable = True then begin
   Buffer :=udp.ReceiveString;
   //myServer^.ServerPB := '0';
   //myServer^.ServerFF := '0';
   myServer^.ServerName      := TurboFilter(Buffer,'\sv_hostname\');
   myServer^.ServerMap       := TurboFilter(Buffer,'\mapname\');
   //myServer^.ServerFF        := TurboFilter(Buffer,'\g_friendlyFire\');
   myServer^.ServerGMode     := TurboFilter(Buffer,'\gamename\');
   //myServer^.ServerPB        := TurboFilter(Buffer,'\sv_punkbuster\');
   ServerRead:=True;
  end;
  if ServerRead then exit else inc(NoResponse);
 end;
end;
Vorher sage ich dem udpClient natürlich noch den Host und den Port und stell in auf Active := True ;)

Danke schonmal im Vorraus für evtl Hilfe

Gruß

Duffy 6. Aug 2003 06:13

Re: Indy Connection Reset by Peer Abfangen
 
Hallo Cyrus1972 ,
siehe Beitrag von Evian ...
bye

Cyrus1972 6. Aug 2003 14:31

Re: Indy Connection Reset by Peer Abfangen
 
Super danke für den Tip.
Werde ich direkt mal ausprobieren.

:witch:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 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