TsgcWebSocketServer_HTTPAPI › 事件 › OnAsynchronous
当 HTTP API 服务器发起的异步发送操作完成时触发。
property OnAsynchronous: TsgcWSHTTPAPIAsynchronousEvent;
// TsgcWSHTTPAPIAsynchronousEvent = procedure(Sender: TObject; var aConnection: TsgcHTTPAPIContext; var Handled: Boolean) of object
—
当 Asynchronous 属性为 True 时,写入客户端的消息不会阻塞调用线程:IOCP 工作线程将发送操作加入队列并立即返回,HTTP.SYS 稍后发出完成信号。OnAsynchronous 在每次异步操作完成时引发,以便应用程序可以释放或重用底层缓冲区。aConnection 参数指向与已完成请求关联的 TsgcHTTPAPIContext;将 Handled 设置为 True 可在应用程序已处置上下文时阻止组件运行其默认清理。如果 Asynchronous 为 False(默认值),则永远不会引发此事件。
procedure OnAsynchronous(Sender: TObject; var aConnection: TsgcHTTPAPIContext;
var Handled: Boolean);
begin
DoLog('async write completed');
Handled := False;
end;