TsgcTCPClient › 이벤트 › OnMessage

OnMessage Event

TCP 서버로부터 수신한 원시 바이트를 텍스트로 표시할 수 있을 때 발생합니다.

구문

property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object

기본값

—

설명

WebSocket 클라이언트와 달리 TsgcTCPClient는 핸드셰이크를 협상하지 않으며 프레임화된 메시지를 받지 않으므로, OnMessage는 TCP 소켓에 도착한 원시 바이트를 문자열로 변환하여 전달합니다. TCPEndOfFrameScanBuffer가 eofScanNone인 경우 모든 읽기는 도착하는 대로 표면화됩니다. eofScanLatestBytes 또는 eofScanAllBytes인 경우 버퍼는 TCPEndOfFrame 구분 기호에서 분할되고 논리적 프레임당 하나의 이벤트가 발생합니다. Text 매개변수는 UTF-8로 디코딩된 페이로드를 담습니다. 서버가 텍스트가 아닌 데이터를 보내는 경우 대신 OnBinary를 사용하십시오. 기본적으로 NotifyEvents는 neAsynchronous이므로 핸들러가 메인 스레드의 컨텍스트에서 실행되어 UI 컨트롤을 직접 업데이트하는 것이 안전합니다. 클라이언트가 많은 양의 데이터를 수신하고 동기화를 직접 처리하려면 neNoSync로 전환하십시오.

예제


procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
  ShowMessage('Received from TCP server: ' + Text);
end;

이벤트로 돌아가기