为了支持UMX传输结构的变化,引入传输协议指示包.
主动连接方在连接建立后首先发送一个指示传输协议的数据包。
被动连接方接收此数据包后,把传输协议版本标志与连接绑定。被动接收方以该协议与客户端通信。
传输协议版本指示包格式:1字节(版本号)
现有协议为:1.下一版本为2。
任务:
.重新实现0x0303版本
。地址扩充到64位
。细分参数,行集列数据类型
。增加参数,行集列,行集属性(如是否支持移动应用)
。行集列支持嵌套行集
。协议版本为传输协议版本(1字节即可),应用协议版本放到应用层(##version)
。参数分为系统参数和应用参数:
。调整各个项:如引导符可能不必要,或者减少(如3个字节umx)
.修改框架(hotfox和协议模块)
int UMXProtMod::OnRead(ACE_Message_Block *mblk,const void *arg)
检查头1个字节,版本1的第1个字节为'+'. 如果是非'+',则再接收一字节,以接收完整的消息包头.
.修改作为主动连接方,在连接后发送传输协议指示包:通过协议模块GetTPVersion接口获取最新的传输协议版本. (umx.h常量定义)。更新后的程序以新协议发送数据。
.编译所有模块(包括升级程序在内)
.发布升级包,升级所有模块(顺序:1.升级程序 2.服务端程序 3.客户端程序)
---升级后的程序支持并使用新的传输协议
.存储转发消息的处理:
主动连接方在连接建立后首先发送一个指示传输协议的数据包。
被动连接方接收此数据包后,把传输协议版本标志与连接绑定。被动接收方以该协议与客户端通信。
传输协议版本指示包格式:1字节(版本号)
现有协议为:1.下一版本为2。
任务:
.重新实现0x0303版本
。地址扩充到64位
。细分参数,行集列数据类型
。增加参数,行集列,行集属性(如是否支持移动应用)
。行集列支持嵌套行集
。协议版本为传输协议版本(1字节即可),应用协议版本放到应用层(##version)
。参数分为系统参数和应用参数:
。调整各个项:如引导符可能不必要,或者减少(如3个字节umx)
.修改框架(hotfox和协议模块)
int UMXProtMod::OnRead(ACE_Message_Block *mblk,const void *arg)
检查头1个字节,版本1的第1个字节为'+'. 如果是非'+',则再接收一字节,以接收完整的消息包头.
.修改作为主动连接方,在连接后发送传输协议指示包:通过协议模块GetTPVersion接口获取最新的传输协议版本. (umx.h常量定义)。更新后的程序以新协议发送数据。
.编译所有模块(包括升级程序在内)
.发布升级包,升级所有模块(顺序:1.升级程序 2.服务端程序 3.客户端程序)
---升级后的程序支持并使用新的传输协议
.存储转发消息的处理: