thrift通信的单位是一个message,格式如下:

Thrift通信协议

各字段解释:
1)版本号:用15个bit表示,因为前导1的存在,这16位总是一个负数。
每次预先读取msg的前32位,使用VERSION_MASK 0xffff0000来获取前16位。
目前默认的版本号是0x80010000。
2)待使用:待使用的一个字节。
3)消息类型:用后3个bit表示消息类型,分别是:

消息类型 16进制值 处理方式
CALL 0x80010001 调用方法,并期望获得返回
REPLY 0x80010002 来自服务端的返回消息
EXCEPTION 0x0x80010003 服务端处理请求时出现异常
ONEWAY 0x80010004 单向请求,不需要返回

4)方法名的长度:用4个字节来表示。
5)方法名:调用的方法的名称,长度由方法名长度来表示,UTF-8的编码。
6)***:负责排序。

相关文章: