TsgcWebSocketClient › 属性 › Options
自定义握手头,并微调客户端行为,如分片和 UTF-8 验证。
property Options: TsgcWSOptionsClient read FOptions write SetOptions;
FragmentedMessages=frgOnlyBuffer, RaiseDisconnectExceptions=True, ValidateUTF8=False, CleanDisconnect=False, WaitForConnect=False
公开握手和运行时设置:Parameters(额外的 GET 参数)、Origin(自定义 Origin 标头)和 FragmentedMessages,用于选择分片是缓冲(frgOnlyBuffer)、单独报告(frgOnlyFragmented)还是两者都有(frgAll)。RaiseDisconnectExceptions 在协议错误断开时引发异常,ValidateUTF8 验证文本帧的 UTF-8 合规性,CleanDisconnect 在断开 TCP 会话之前发送关闭帧。
WaitForConnect controls when the synchronous Connect call returns. By default (False) Connect returns as soon as the WebSocket transport is connected, which can be before the OnConnect event has fired. When set to True, Connect returns only after the OnConnect event has run, so for a sub-protocol that establishes a session on connect (for example the sgc protocol, which assigns a session in its OnConnect) the connection is fully ready as soon as Connect returns. This avoids a connect-readiness race on fast reconnects, where code that inspects the connection immediately after Connect could run before the sub-protocol OnConnect had fired. It applies when NotifyEvents is neNoSync, where events run inline on the read thread. With neAsynchronous the OnConnect event is queued to the main thread and cannot be awaited inside Connect, so use the OnConnect event to detect readiness in that case.
oClient := TsgcWebSocketClient.Create(nil);
oClient.URL := 'wss://www.esegece.com:2053';
oClient.Options.Parameters := '/ws/';
oClient.Options.ValidateUTF8 := true;
oClient.Options.CleanDisconnect := true;
oClient.Options.WaitForConnect := true;
oClient.Active := true;