TsgcTCPClient › 事件 › OnMessage

OnMessage 事件

当从 TCP 服务器接收到的原始字节可作为文本呈现时触发。

语法

property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object

默认值

—

备注

与 WebSocket 客户端不同,TsgcTCPClient 不进行握手协商,也不接收经帧化的消息,因此 OnMessage 将 TCP 套接字上到达的原始字节转换为字符串后传递。当 TCPEndOfFrameScanBuffer 为 eofScanNone 时,每次读取均会立即触发事件;当为 eofScanLatestBytes 或 eofScanAllBytes 时,缓冲区将按 TCPEndOfFrame 分隔符进行拆分,每个逻辑帧触发一次事件。Text 参数携带经 UTF-8 解码的载荷;如果服务器发送非文本数据,请改用 OnBinary。默认情况下,NotifyEvents 为 neAsynchronous,因此处理程序在主线程上下文中运行,可直接安全地更新 UI 控件;如果客户端接收大量数据且希望自行处理同步,可切换至 neNoSync。

示例


procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
  ShowMessage('Received from TCP server: ' + Text);
end;

返回事件