监听事件
HTTP监听事件HTTP 组 件 监 听 器 接 口 继 承 于 IHttpListenerT 和 相 应 的 TCP 组 件 监 听 器 接 口 。
IHttpListenerT 的 HTTP 事件可以理解为 TCP 组件监听器 OnReceive 事件的分解。HTTP 事
件返回值的类型为 EnHttpParseResult:
✓ HPR_OK :解析成功,继续执行
✓ HPR_SKIP_BODY :跳过当前请求 BODY,完成本次请求
(仅用于 OnHeadersComplete 事件)
✓ HPR_UPGRADE :升级协议,完成本次请求,并且不再进行后续 HTTP 解析
(仅用于 OnHeadersComplete 事件)
✓ HPR_ERROR :解析错误,终止解析,断开连接
开始解析事件:
EnHttpParseResult OnMessageBegin(pSender, dwConnID)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
请求行解析完成事件(仅用于 HTTP 服务端):
EnHttpParseResult OnRequestLine(pSender, dwConnID, lpszMethod, lpszUrl)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
✓ lpszMethod -- 请求方法名✓ lpszUrl -- 请求行中的 URL 域
状态行解析完成事件(仅用于 HTTP 客户端):
EnHttpParseResult OnStatusLine(pSender, dwConnID, usStatusCode, lpszDesc)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
✓ usStatusCode -- HTTP 状态码
✓ lpszDesc -- 状态描述
请求头事件:
EnHttpParseResult OnHeader(pSender, dwConnID, lpszName, lpszValue)EnHttpParseResult
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
✓ lpszName -- 请求头名称
✓ lpszValue -- 请求头值
请求头完成事件:
EnHttpParseResult OnHeadersComplete(pSender, dwConnID)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
BODY 报文事件:
EnHttpParseResult OnBody(pSender, dwConnID, pData, iLength)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
✓ pData -- 数据缓冲区
✓ iLength -- 数据长度
Chunked 报文头事件:
EnHttpParseResult OnChunkHeader(pSender, dwConnID, iLength)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
✓ iLength -- Chunked 报文体数据长度
Chunked 报文结束事件:
EnHttpParseResult OnChunkComplete(pSender, dwConnID)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
完成解析事件:
EnHttpParseResult OnMessageComplete(pSender, dwConnID)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
升级协议事件:
EnHttpParseResult OnUpgrade(pSender, dwConnID)
✓ pSender -- 事件源对象
✓ dwConnID -- 连接 ID
✓ enUpgradeType -- 协议类型
页:
[1]