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;