TsgcUDPCLient › 事件 › 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;