TsgcTCPClient › Olaylar › OnMessage
TCP sunucusundan alınan ham baytlar metin olarak sunulabilir olduğunda tetiklenir.
property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object
—
WebSocket istemcisinin aksine, TsgcTCPClient bir handshake müzakere etmez ve çerçevelenmiş mesajlar almaz, bu nedenle OnMessage, TCP soketine ulaşan ham baytları bir dizeye dönüştürerek teslim eder. TCPEndOfFrameScanBuffer eofScanNone olduğunda her okuma geldiği anda yüzeye çıkarılır; eofScanLatestBytes veya eofScanAllBytes olduğunda arabellek TCPEndOfFrame ayırıcısına göre bölünür ve her mantıksal çerçeve için bir olay tetiklenir. Text parametresi UTF-8 ile çözülmüş yükü taşır; sunucu metinsel olmayan veri gönderiyorsa bunun yerine OnBinary kullanın. Varsayılan olarak NotifyEvents neAsynchronous'tur, bu nedenle işleyici ana iş parçacığı bağlamında çalışır ve UI denetimlerini doğrudan güncellemek güvenlidir; istemci yüksek hacimde veri alıyorsa ve senkronizasyonu kendiniz yönetmeyi tercih ediyorsanız neNoSync'e geçin.
procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
ShowMessage('Received from TCP server: ' + Text);
end;