TsgcUDPCLient › Eventos › OnUDPRead

OnUDPRead Event

Disparado quando um datagrama UDP recebido foi recebido do peer.

Sintaxe

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

Valor Padrão

—

Observações

Disparado uma vez por datagrama recebido, passando os bytes brutos através do parâmetro Bytes e o Socket de origem (que expõe PeerIP e PeerPort do remetente). O payload é sempre entregue como bytes; converta-o com TEncoding se o protocolo da aplicação utilizar texto. A thread que dispara este evento depende da propriedade NotifyEvents: neAsynchronous faz o marshaling através de uma fila em segundo plano, neSynchronous utiliza Synchronize e neNoSync dispara diretamente na thread leitora. Quando o DTLS está habilitado, Bytes contém o texto simples descriptografado.

Exemplo

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;

Voltar para Eventos