TsgcTCPClient › Eventos › OnMessage
Dispara quando bytes brutos recebidos do servidor TCP podem ser expostos como texto.
property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object
—
Diferentemente do cliente WebSocket, TsgcTCPClient não negocia um handshake e não recebe mensagens em frames, portanto OnMessage entrega os bytes brutos que chegaram no socket TCP convertidos em uma string. Quando TCPEndOfFrameScanBuffer é eofScanNone, cada leitura é apresentada à medida que chega; quando é eofScanLatestBytes ou eofScanAllBytes, o buffer é dividido no delimitador TCPEndOfFrame e um evento é gerado por frame lógico. O parâmetro Text carrega o payload decodificado em UTF-8; utilize OnBinary se o servidor enviar dados não textuais. Por padrão NotifyEvents é neAsynchronous, então o handler é executado no contexto da thread principal e é seguro atualizar controles de interface diretamente; mude para neNoSync se o cliente receber um alto volume de dados e você preferir lidar com a sincronização por conta própria.
procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
ShowMessage('Received from TCP server: ' + Text);
end;