TsgcWebSocketProxyServer › 이벤트 › OnMessage
다운스트림 WebSocket 클라이언트가 텍스트 메시지를 보낼 때마다, 프록시가 이를 업스트림으로 전달하기 전에 발생합니다.
property OnMessage: TsgcWSMessageEvent;
// TsgcWSMessageEvent = procedure(Connection: TsgcWSConnection; const Text: string) of object
—
OnMessage는 다운스트림 WebSocket 클라이언트로부터 완전한 텍스트 프레임이 수신되면 발생합니다. Text 매개변수는 디코딩된 UTF-8 문자열을 전달하고 Connection 매개변수는 발신자 세션을 식별합니다. 프록시는 핸들러가 반환된 직후 이 페이로드를 업스트림 TCP 서버(Proxy.Host, Proxy.Port)로 릴레이하므로, 메시지가 전달되기 전에 검사, 기록 또는 수정하기에 편리한 위치입니다. 기본적으로 NotifyEvents는 neAsynchronous이고 핸들러는 메인 스레드와 동기화되어 실행되므로 UI 컨트롤을 업데이트하는 것이 안전합니다. 높은 처리량의 프록시의 경우 연결 스레드에서 디스패치하려면 NotifyEvents를 neNoSync로 설정하고 자체 동기화를 구현하십시오. Options.FragmentedMessages가 frgOnlyFragmented이면 이벤트가 발생하지 않고 페이로드는 대신 OnFragmented를 통해 전달됩니다.
procedure OnMessage(Connection: TsgcWSConnection; const Text: string);
begin
ShowMessage('Message Received from Client: ' + Text);
end;