协议说明

自定义协议说明

接口描述

自定义协议包含三个部分:协议开始标识、长度、数据

说明 / 示例

* 协议数据包格式 * +——----——+——-----——+——----——+ * |协议开始标志-|----- 长度 -----|----- 数据 ----| * +——----——+——-----——+——----——+ * 1.协议开始标志head_data,为int类型的数据,16进制表示为0X76 占4字节 * 2.传输数据的长度contentLength,int类型 占4字节 * 3.要传输的数据 content 字节数组 UTF-8 1、content部分为具体业务内容的json格式字符串的字节数组格式,即jsonObject.toString().getBytes(Charset.forName("UTF-8")),数据大小不能超过1M字节 2、甘道会提供Java版协议及编解码类(基于Netty),方便快速使用 3、后续接口定义中,请求参数与接口响应都是指的content的内容,且统一指定为json格式,接口中不再单独说明 4、连接端口:9999 5、响应代码: ```language 0:成功 -11:请求命令未定义 1101:芯片认证异常 1102:芯片认证失败 2201:数据格式错误 2202:数据为空 3301:合约数据上链发生错误 3302:普通交易数据上链发生错误 3303:数据溯源发生错误 4401:数据签名异常 ``` 6、完整数据示例: ```language {"head_data":118,"contentLength":62,"content":[123, 34, 99, 111, 100, 101, 34, 58, 51, 51, 48, 50, 44, 34, 109, 101, 115, 115, 97, 103, 101, 34, 58, 34, -26, -103, -82, -23, -128, -102, -28, -70, -92, -26, -104, -109, -26, -107, -80, -26, -115, -82, -28, -72, -118, -23, -109, -66, -27, -113, -111, -25, -108, -97, -23, -108, -103, -24, -81, -81, 34, 125]} ```