Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   TIdUDPServer, mehrere Clients gleichzeitig verwalten (https://www.delphipraxis.net/157985-tidudpserver-mehrere-clients-gleichzeitig-verwalten.html)

schwa226 1. Feb 2011 13:06

TIdUDPServer, mehrere Clients gleichzeitig verwalten
 
Hallo,

ich habe einen TIdUDPServer und bei diesem kommen als Beispiel 2 Anfragen rein.
Über
Delphi-Quellcode:
procedure OnUDPRead(AThread: TIdUDPListenerThread; AData: TBytes;
  ABinding: TIdSocketHandle);
besser gesagt ABinding, bekomme ich die PeerIP und PeerPort des Clienten und kann sie auseinander halten.

Nun werden Daten aufbereitet und dann zum Client zurückgeschickt. Dies passiert aber nicht mehr in der OnUDPRead.
Jedoch kann es sein, dass die Aufbereitung von Client2 schneller ist als Client1. Ich muss also jeden Clienten jederzeit Antworten können.

Ich habe nun versucht über TIdUDPServer.Bindings.Count das Binding herauszufinden wo PeerIP und PeerPort zusammen passen. Dies geht aber nicht so richtig, denn bei 2 Clients findet er den 1. Client/Binding nicht mehr.

Wie sendet man UDP Daten zurück? Vielleicht doch über TIdUDPClient?
Wenn über TIdUDPClient, was für Port/IP soll hier eingestellt werden? Das vom ServerBinding oder die Wirkliche IP/Port des Servers?


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