TsgcSTUNServer事件 › OnSTUNRequestSuccess

OnSTUNRequestSuccess 事件

在服务器发送成功的绑定响应之前触发,允许处理程序检查或否决回复。

语法

property OnSTUNRequestSuccess: TsgcSTUNRequestSuccessEvent;
// TsgcSTUNRequestSuccessEvent = procedure(Sender: TObject; const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message; var Accept: Boolean) of object

默认值

备注

在服务器成功处理绑定请求并构建携带客户端公共(映射)地址的响应之后、发送数据报之前触发。aRequest 公开原始 STUN 消息(事务 id、属性、源端点),aResponse 公开即将传输的绑定响应;两者均可用于日志记录或审计。将 Accept := False 设置为静默丢弃响应,例如实现自定义速率限制或按客户端黑名单。除非 NotifyEvents 将其重定向,否则处理器在监听线程上运行。

示例

procedure TForm1.OnSTUNRequestSuccess(Sender: TObject;
  const aSocket: TsgcSocketConnection; const aRequest, aResponse: TsgcSTUN_Message;
  var Accept: Boolean);
begin
  Memo1.Lines.Add('Binding OK from ' + aSocket.PeerIP + ':' + IntToStr(aSocket.PeerPort));
  Accept := True;
end;

返回事件