TsgcUDPCLient › Events › OnUDPRead

OnUDPRead Ereignis

Wird ausgelöst, wenn ein eingehendes UDP-Datagramm vom Peer empfangen wurde.

Syntax

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

Standardwert

—

Hinweise

Wird einmal pro empfangenem Datagramm ausgelöst und übergibt die rohen Bytes über den Bytes-Parameter sowie den ursprünglichen Socket (der PeerIP und PeerPort des Senders bereitstellt). Die Payload wird immer als Bytes geliefert; konvertieren Sie sie mit TEncoding, wenn das Anwendungsprotokoll Text verwendet. Der Thread, der dieses Ereignis auslöst, hängt von der NotifyEvents-Eigenschaft ab: neAsynchronous marshallt über eine Hintergrundwarteschlange, neSynchronous verwendet Synchronize und neNoSync löst direkt im Reader-Thread aus. Wenn DTLS aktiviert ist, enthält Bytes den entschlüsselten Klartext.

Beispiel

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;

Zurück zu Ereignissen