HPsocket

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 89|回复: 0

监听事件

[复制链接]
发表于 2022-3-11 20:02:12 | 显示全部楼层 |阅读模式
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 -- 协议类型

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|HPsocket-国产高性能通讯框架 ( 豫ICP备19038015号-1 )|网站地图 *//

GMT+8, 2022-12-1 01:43 , Processed in 0.159422 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表