如何将异步微服务框架TCP网络协议格式成?

摘要:(一)格式说明 异步微服务框架TCP网络协议格式如图所示: INDEX 序号,1字节,循环计数,起始为0 FLAG 标志位信息,1字节, BIT0:Request消息标志,REQ-ID有效 BIT1:Response消息标志,REQ-ID有
(一)格式说明 异步微服务框架TCP网络协议格式如图所示: INDEX 序号,1字节,循环计数,起始为0 FLAG 标志位信息,1字节, BIT0:Request消息标志,REQ-ID有效 BIT1:Response消息标志,REQ-ID有效 BIT2:RID接收者ID标志 BIT3~4:保留 BIT5:网关广播标志,网关接收服务端数据时有效 BIT6:加密标志,网关收发客户端数据时有效 BIT7:压缩标志,网关收发客户端数据时有效 M-ID 消息ID,4字节 M-LEN 消息体长度,4字节 M-BODY 消息体,0~N字节 REQ-ID 异步Request-Response消息对的请求ID,8字节。FLAG-BIT0有效则表示本消息是Request消息,REQ-ID是请求方生成的Request-ID。FLAG-BIT1有效则表示本消息是Response消息,REQ-ID是请求方生成的Request-ID,用于请求方回调Response函数。 RID-LEN RID是接收者ID,RID-LEN是接收者ID列表长度,2字节 RID-LIST 接收者ID列表,8*RID-LEN字节,如果是网关表示客户端的Socket或其它,如果是集群服务端则表示消息接收者(应用对象)的ID。 (二)优点 1、可实现常规异步消息,也可以实现客户端和服务端的异步Request-Response消息对的请求和回应操作 2、利用RID列表,框架层无需解析消息可以将消息送达对方(客户端socket,服务端的user对象) 3、协议封包和解包操作更加简单方便