TsgcUDPCLient › Eventos › OnUDPRead
Se dispara cuando se ha recibido un datagrama UDP entrante del par.
property OnUDPRead: TsgcUDPReadEvent;
// TsgcUDPReadEvent = procedure(Sender: TObject; Socket: TsgcUDPSocket; Bytes: TsgcBytes) of object
—
Se activa una vez por datagrama recibido, pasando los bytes brutos a través del parámetro Bytes y el Socket de origen (que expone PeerIP y PeerPort del emisor). La carga útil siempre se entrega como bytes; conviértala con TEncoding si el protocolo de aplicación utiliza texto. El hilo que activa este evento depende de la propiedad NotifyEvents: neAsynchronous lo envía a través de una cola en segundo plano, neSynchronous usa Synchronize y neNoSync se activa directamente en el hilo lector. Cuando DTLS está habilitado, Bytes contiene el texto plano descifrado.
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;