TsgcWebSocketLoadBalancerServer이벤트 › OnClientMessage

OnClientMessage 이벤트

다운스트림 클라이언트로부터 텍스트 프레임이 수신되어 선택된 백엔드 서버로 전달되기 전에 발생합니다.

구문

property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object

기본값

설명

OnClientMessage은 백엔드 서버로 가는 도중 balanced 클라이언트로부터 수신된 모든 텍스트 WebSocket 프레임에 대해 발생합니다. Connection은 다운스트림 클라이언트 세션을 식별하고 Text는 디코딩된 UTF-8 페이로드를 전달합니다. 로드 밸런서 내부에서 메시지를 소비하려면 Handled를 True로 설정하십시오(이 경우 백엔드로 릴레이되지 않음). 일반적으로 로드 밸런서가 백엔드를 대신하여 제어 메시지에 응답하거나 잘못된 콘텐츠를 필터링할 때 사용됩니다. 로드 밸런서가 메시지를 변경하지 않고 전달하도록 하려면 Handled를 False(기본값)로 두십시오.

예제


procedure OnClientMessage(Connection: TsgcWSConnection; Text: String;
  var Handled: Boolean);
begin
  // answer ping messages directly from the load balancer
  if SameText(Text, 'ping') then
  begin
    Connection.WriteData('pong');
    Handled := True;
  end;
end;

이벤트로 돌아가기