TsgcWebSocketHTTPServerイベント › OnTCPConnect

OnTCPConnect イベント

クライアントが TCP レベルで接続し WebSocket ハンドシェイクが行われる前に発生します。これにより接続を受け入れるか拒否するかを決定できます。

構文

property OnTCPConnect: TsgcWSOnTCPConnect;
// TsgcWSOnTCPConnect = procedure(Connection: TsgcWSConnection; var Accept: Boolean) of object

デフォルト値

解説

OnTCPConnect は TCP 接続が受け入れられた後、HTTP リクエストが解析される前または WebSocket ハンドシェイクが行われる前に呼び出されます。IP ごとのレート制限を実装するなど、Connection.PeerIP を検査して不要なクライアントを拒否する最初の機会です。Accept を False に設定して接続をすぐに閉じるか、True (デフォルト) のままにしてサーバーが HTTP/WebSocket プロトコル検出を続行するようにします。ハンドラー内で Connection.Transport を trpTCP に設定することで、最初から接続をプレーン TCP ピアに昇格させることもできます。

使用例


procedure OnTCPConnectEvent(aConnection: TsgcWSConnection; var Accept: Boolean);
begin
  Accept := aConnection.PeerIP <> '192.168.0.100';
end;

イベントに戻る