TsgcTCPClient › Events › OnMessage
Se déclenche lorsque les octets bruts reçus du serveur TCP peuvent être présentés sous forme de texte.
property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object
—
Contrairement au client WebSocket, TsgcTCPClient ne négocie pas de handshake et ne reçoit pas de messages encadrés ; OnMessage délivre donc les octets bruts arrivés sur le socket TCP convertis en chaîne. Lorsque TCPEndOfFrameScanBuffer vaut eofScanNone, chaque lecture est transmise dès son arrivée ; lorsqu'il vaut eofScanLatestBytes ou eofScanAllBytes, le tampon est divisé selon le délimiteur TCPEndOfFrame et un événement est déclenché par trame logique. Le paramètre Text porte la charge utile décodée en UTF-8 ; utilisez OnBinary à la place si le serveur envoie des données non textuelles. Par défaut, NotifyEvents est neAsynchronous, de sorte que le gestionnaire s'exécute dans le contexte du thread principal et qu'il est sûr de mettre à jour directement les contrôles de l'interface ; passez à neNoSync si le client reçoit un grand volume de données et que vous préférez gérer vous-même la synchronisation.
procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
ShowMessage('Received from TCP server: ' + Text);
end;