TsgcUDPCLient › Events › OnUDPRead

OnUDPRead Zdarzenie

Wywoływane po odebraniu przychodzącego datagramu UDP od peera.

Składnia

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

Wartość domyślna

—

Uwagi

Wywoływane raz dla każdego odebranego datagramu, przekazując nieprzetworzone bajty przez parametr Bytes oraz źródłowe Socket (które udostępnia PeerIP i PeerPort nadawcy). Ładunek jest zawsze dostarczany jako bajty; należy konwertować go za pomocą TEncoding, jeśli protokół aplikacji używa tekstu. Wątek wywołujący to zdarzenie zależy od właściwości NotifyEvents: neAsynchronous przekazuje przez kolejkę w tle, neSynchronous używa Synchronize, a neNoSync wywołuje bezpośrednio na wątku czytającym. Gdy włączone jest DTLS, Bytes zawiera odszyfrowany tekst jawny.

Przykład

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;

Powrót do Zdarzeń