TsgcUDPCLient › Événements › OnUDPRead
Se déclenche lorsqu'un datagramme UDP entrant a été reçu du pair.
property OnUDPRead: TsgcUDPReadEvent;
// TsgcUDPReadEvent = procedure(Sender: TObject; Socket: TsgcUDPSocket; Bytes: TsgcBytes) of object
—
Déclenché une fois par datagramme reçu, passant les octets bruts via le paramètre Bytes et la Socket d'origine (qui expose PeerIP et PeerPort de l'expéditeur). La charge utile est toujours transmise en octets ; convertissez-la avec TEncoding si le protocole applicatif utilise du texte. Le thread qui déclenche cet événement dépend de la propriété NotifyEvents : neAsynchronous transite par une file d'attente en arrière-plan, neSynchronous utilise Synchronize, et neNoSync se déclenche directement sur le thread de lecture. Lorsque DTLS est activé, Bytes contient le texte déchiffré en clair.
procedure TForm1.oClientUDPRead(Sender: TObject; Socket: TsgcUDPSocket;
Bytes: TsgcBytes);
begin
Memo1.Lines.Add(Format('From %s:%d -> %s',
[Socket.PeerIP, Socket.PeerPort, TEncoding.UTF8.GetString(Bytes)]));
end;