TsgcUDPCLient › Événements › OnUDPRead

OnUDPRead Event

Se déclenche lorsqu'un datagramme UDP entrant a été reçu du pair.

Syntaxe

property OnUDPRead: TsgcUDPReadEvent;
// TsgcUDPReadEvent = procedure(Sender: TObject; Socket: TsgcUDPSocket; Bytes: TsgcBytes) of object

Valeur par défaut

—

Remarques

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.

Exemple

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;

Retour aux événements