TsgcWebSocketProxyServer › イベント › OnTCPConnect
ダウンストリームクライアントが TCP レベルで接続し、WebSocket ハンドシェイクの前に発生します。接続を受け入れるか拒否できます。
property OnTCPConnect: TsgcWSOnTCPConnect;
// TsgcWSOnTCPConnect = procedure(Connection: TsgcWSConnection; var Accept: Boolean) of object
—
OnTCPConnect は、ダウンストリームの TCP 接続が受け付けられた後、WebSocket ハンドシェイクの前に呼び出されます。プロキシが平文 TCP ダウンストリーム接続を受け付ける場合に便利です。デフォルトでは OnConnect はクライアントから最初のメッセージを受信した後にのみ発火するため、このイベントを処理して Connection.Transport を trpTCP に設定し、ダウンストリームピアを最初から生の TCP セッションとして扱うようにします。Accept を False に設定すると接続を即座に拒否します。True(デフォルト)のままにしておくと、プロキシはプロトコル検出または WebSocket ハンドシェイクを続行します。このイベントはダウンストリームソケットのみを参照します。アップストリームの TCP リンクは後ほど OnConnect で開かれます。
procedure OnTCPConnectEvent(aConnection: TsgcWSConnection; var Accept: Boolean);
begin
aConnection.Transport := trpTCP;
Accept := True;
end;