TsgcTCPClient › Ereignisse › OnMessage
Wird ausgelöst, wenn rohe vom TCP-Server empfangene Bytes als Text bereitgestellt werden können.
property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object
—
Im Gegensatz zum WebSocket-Client handelt TsgcTCPClient keinen Handshake aus und empfängt keine gerahmten Nachrichten, sodass OnMessage die rohen Bytes liefert, die auf dem TCP-Socket eingetroffen sind, in eine Zeichenfolge konvertiert. Wenn TCPEndOfFrameScanBuffer eofScanNone ist, wird jeder Read so sichtbar gemacht, wie er eintrifft; wenn es eofScanLatestBytes oder eofScanAllBytes ist, wird der Puffer am TCPEndOfFrame-Trennzeichen aufgeteilt, und es wird ein Ereignis pro logischem Frame ausgelöst. Der Parameter Text trägt die UTF-8-decodierte Payload; verwenden Sie stattdessen OnBinary, wenn der Server nicht-textuelle Daten sendet. Standardmäßig ist NotifyEvents neAsynchronous, sodass der Handler im Kontext des Haupt-Threads läuft und es sicher ist, UI-Steuerelemente direkt zu aktualisieren; wechseln Sie zu neNoSync, wenn der Client ein hohes Datenvolumen empfängt und Sie die Synchronisation lieber selbst handhaben möchten.
procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
ShowMessage('Received from TCP server: ' + Text);
end;