TsgcUDPCLient › 事件 › OnUDPRead

OnUDPRead 事件

当从对端接收到传入 UDP 数据报时触发。

语法

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

默认值

—

备注

每次接收到数据报时触发一次,通过 Bytes 参数传递原始字节,并通过 Socket(暴露发送方的 PeerIP 和 PeerPort)传递来源套接字。负载始终以字节形式投递;如果应用程序协议使用文本,请使用 TEncoding 转换。触发此事件的线程取决于 NotifyEvents 属性:neAsynchronous 通过后台队列编组,neSynchronous 使用 Synchronize,neNoSync 直接在读取器线程上触发。启用 DTLS 时,Bytes 包含解密后的明文。

示例

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;

返回事件