一个请求返回多个应答消息的支持
来源:互联网 发布:淘宝如何上传图片清晰 编辑:程序博客网 时间:2024/05/21 13:57
目的及应用场景:
客户端1次查询1页商品图片(5x4=20个)时,服务端每获取1张图片则立即返回而不是处理完20个图片后一起返回。
这样,可以让客户端和服务端交替并行执行,提高响应速度。
为了支持一个请求返回多个响应包的情况,消息属性增加CONT_MASK:
enum MSG_ATTR_MASK {CONT_MASK= 0X0001, ///< 是否有后续包, 0-无 1-有};
代码示例:
///< 5732 下载图片通用协议
int CDataUpdate::OnDownLoadCommPic可以参考以下修改:
for (int i=0;i<nRowsetNum;i++) { CMsg *pAns = new CMsg; AUTO_POINTER_NODECLARE(CMsg,pAns); pAns->SetMsgType(MT_CONFIRMATION); CRowset *pRow = new CRowset; pAns->AddRowset(pRow); pRow->SetFields("ID","DataVersion", "Image", "PicFormat", 0); FieldDescriptor *pFD = pRow->GetFieldInfo("Image"); pFD->type = dtLongVarBinary; if (i!=nRowsetNum-1) { pAns->SetMsgAttr(CONT_MASK); ///< 非最后一个消息包设置CONT_MASK }network_->SendMsg(pAns); ///< 发送消息 } or.auto_resp_ = false; ///< @note 不再自动构造返回消息包 return 0;
这要求消息是顺序发送的.
---当返回消息的handlerid相符且没有后续包时才删除
(msg.getMsgAttr()&CONT_MASK)==0
---必须有超时机制:服务器无返回的情况
.handlerid生成规则:如何保证不重复,重复的后果.
0 0
- 一个请求返回多个应答消息的支持
- 消息请求应答与RPC
- http get请求获取服务器返回的应答数据
- 一个简单的HTTP请求与应答基于socket
- SIP请求消息类型与应答码
- BACnetScan读BI多个属性——请求报文和应答报文解析
- fiddler导出多个请求返回数据的方法
- nuplayer处理服务端的应答消息notifyResponseListener
- 如何获取http请求的应答
- SIP 应答和SIP 请求的区别
- CZMQ之可靠的请求-应答模式
- ajax请求后返回多个jsonArray
- 发送xml的http请求并返回xml消息体
- html修改为jsp、错误消息显示、错误消息回显、多个请求对应一个servlet、获取请求参数封装成对象
- SIP应答消息大全
- 一个struts的action怎样区分多个请求
- 一个servlet处理来自多个不同页面的请求!
- HTTP请求及应答
- 判断数组与对象
- Struts、Spring、Hibernate整合开发
- 2014找工作总结-机会往往留给有准备的人
- 第一篇博客。——记录复杂的心情
- 关于python读取大文件的方法
- 一个请求返回多个应答消息的支持
- Android SDK 在线更新镜像服务器资源
- SVN中Branch的创建与合并
- 蔡学镛:让架构接地气,不再云里雾里
- Clothing
- spring
- C语言中,头文件和源文件的关系(转)
- URL编码表%20Base64编码表%20HTTP消息含义
- C++读入输出优化