|

5精币
用 HP-Socket HTTP服务器 接收POST 请求时 OnBody 里可以看到POST提交的信息 ,只接收到两条; 论坛上有大神说需要组包; OnMessageComplete 解析完成事件 具体怎么实现POST完整的数据呢;最好有相关源码!! |
OnBody | 整数型 | | |
pSender | 整数型 | | | | dwConnID | 整数型 | | | | pData | 整数型 | | | | iLength | 整数型 | | | |
buf = 指针到字节集 (pData, iLength )buf = buf + { 2 }调试消息 (“消息报文开始事件:” + 到文本 (buf )) 返回 ( #HPR_OK )|
OnMessageComplete | 整数型 | | |
pSender | 整数型 | | | | dwConnID | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | Body | 文本型 | | | bSkipBody | 整数型 | | | Method | 文本型 | | | lpszReqSequence | 文本型 | | | dwSeq | 整数型 | | | header | TNVPair | | 8 | p_ReadFile | 文本型 | | | cookie文本 | 文本型 | | | aa | 整数型 | | | 调试消息 (“解析完成事件”) 如果真 (m_Server. 取是否升级协yi (dwConnID )) 返回 ( #HPR_OK ) bSkipBody = 0 Method = m_Server. 取请求方法 (dwConnID )dwSeq = 1 m_Server. 取Cookie (dwConnID, “__reqSequence”, lpszReqSequence ) 如果真 (lpszReqSequence ≠ “”) dwSeq = dwSeq + 到整数 (lpszReqSequence ) header [1 ].name = “Accept”header [1 ].value = “text/plain, text/html” 判断 (Method = “HEAD”) bSkipBody = 1 判断 (Method = “GET”) bSkipBody = 2  p_ReadFile = 子文本替换 (m_Server. 取Url域值 (dwConnID, #HUF_PATH ), “/”, “\”, , , 真) 如果真 (p_ReadFile = “\”)  p_ReadFile = “\index.html”   Body = GetHeaderSummary (pSender, dwConnID, 假, 假) 判断 (bSkipBody = 0 ) m_Server. 回复请求 (dwConnID, #HSC_OK, 取HTTP状态码文本 ( #HSC_OK ), header, 到字节集 (Body )) 判断 (bSkipBody = 1 ) m_Server. 回复请求 (dwConnID, #HSC_OK, 取HTTP状态码文本 ( #HSC_OK ), header, ) 判断 (bSkipBody = 2 ) m_Server. 发送本地文件 (dwConnID, 取运行目录 () + p_ReadFile, #HSC_OK, 取HTTP状态码文本 ( #HSC_OK ), header )   如果真 (m_Server. 取是否长连接标识 (dwConnID ) = 假) m_Server. 释放连接 (dwConnID )返回 ( #HPR_OK ) |
|