TsgcWebSocketClient › Propriétés › Options
Personnalise les en-têtes de la poignée de main et affine le comportement du client, tel que la fragmentation et la validation UTF-8.
property Options: TsgcWSOptionsClient read FOptions write SetOptions;
FragmentedMessages=frgOnlyBuffer, RaiseDisconnectExceptions=True, ValidateUTF8=False, CleanDisconnect=False, WaitForConnect=False
Expose les paramètres de poignée de main et d'exécution : Parameters (paramètres GET supplémentaires), Origin (en-tête Origin personnalisé) et FragmentedMessages qui détermine si les fragments sont mis en mémoire tampon (frgOnlyBuffer), rapportés individuellement (frgOnlyFragmented) ou les deux (frgAll). RaiseDisconnectExceptions lève une exception lors des déconnexions dues à des erreurs de protocole et détermine également si WriteData, WriteAndWaitData et Ping signalent, via OnError avec Connection = nil, un message qui n'a pas pu être envoyé parce que le client n'est pas connecté (ou, pour WriteData et WriteAndWaitData, parce que son handshake n'est pas encore terminé) ; définissez-le sur False pour ignorer ces messages silencieusement. ValidateUTF8 vérifie la conformité UTF-8 des trames de texte et CleanDisconnect envoie une trame de fermeture avant d'abandonner la session 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;