TsgcTCPClient › Events › OnMessage
Wywoływane, gdy surowe bajty odebrane z serwera TCP mogą zostać przedstawione jako tekst.
property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object
—
W przeciwieństwie do klienta WebSocket, TsgcTCPClient nie negocjuje handshake'u i nie odbiera ramkowanych wiadomości, dlatego OnMessage dostarcza surowe bajty odebrane przez gniazdo TCP skonwertowane do ciągu znaków. Gdy TCPEndOfFrameScanBuffer ma wartość eofScanNone, każdy odczyt jest udostępniany natychmiast po nadejściu; gdy jest to eofScanLatestBytes lub eofScanAllBytes, bufor jest dzielony według separatora TCPEndOfFrame i dla każdej logicznej ramki generowane jest jedno zdarzenie. Parametr Text zawiera ładunek zdekodowany w UTF-8; jeśli serwer wysyła dane nie będące tekstem, należy zamiast tego użyć zdarzenia OnBinary. Domyślnie NotifyEvents ma wartość neAsynchronous, dzięki czemu procedura obsługi działa w kontekście głównego wątku i możliwa jest bezpośrednia aktualizacja elementów interfejsu; należy przełączyć na neNoSync, jeśli klient odbiera dużą ilość danych i preferuje samodzielne zarządzanie synchronizacją.
procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
ShowMessage('Received from TCP server: ' + Text);
end;