TsgcSTUNServer › 事件 › 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;