TsgcWebSocketClient方法 › Ping

Ping 方法

向服务器发送 WebSocket ping 帧,并立即返回,无需等待 pong 响应。

重载

重载 1

语法

procedure Ping(const aText: String = '');

参数

名称类型描述
aTextconst String在 ping 帧内携带的可选有效载荷;传入空字符串则发送不含有效载荷的 ping。

备注

此重载触发 ping 并立即返回,不阻塞调用者或等待匹配的 pong。当客户端未连接时,此方法为空操作。从服务器收到的任何 pong 都通过标准连接事件异步传递。内部异常被捕获并路由到 OnError。当您需要确认对等方仍然可达时,请使用 另一个重载 的超时版本。

示例


oClient.Ping('keepalive');

重载 2

语法

function Ping(aTimeout: Integer; const aText: String = '') : Boolean;

参数

名称类型描述
aTimeoutInteger等待 pong 回复的最长时间(毫秒),超时后放弃。
aTextconst String在 ping 帧内携带的可选有效载荷;传入空字符串则发送不含有效载荷的 ping。

返回值

如果服务器在超时窗口内回复了匹配的 pong,则为 True;否则为 False。当返回 False 时,客户端可能选择关闭连接,因为对端被认为不可达。(Boolean

备注

此重载会阻塞调用线程,直到收到 pong 或超时为止,因此适用于交互式存活检查。当客户端未连接时,该方法立即返回 False。底层套接字引发的异常将被捕获并转发至 OnError。如需不阻塞的即发即忘式 ping,请改用无参数的另一个重载

示例


if not oClient.Ping(5000, 'healthcheck') then
  oClient.Disconnect;

返回方法