一. 提供接口文档信息(swagger地址),需包含接口-参数-请求示例

  1. BIO(同步)接口: /invoke
    参数:group(自定义的分组),action(自定义的接口名称),bindClient(指定手机id),invoke_timeOut(设置超时时间)
    案例: http://sekiro.virjar.com/invoke?group=sekiro-demo&action=clientTime&param1=参数

  2. NIO(异步)接口:/asyncInvoke
    参数:group(自定义的分组),action(自定义的接口名称),bindClient(指定手机id),invoke_timeOut(设置超时时间)
    案例:http://sekiro.virjar.com/asyncInvoke?group=sekiro-demo&action=clientTime&param1=参数

  3. 分组枚举接口:/groupList
    参数:无
    案例:http://sekiro.virjar.com/groupList

  4. 设备枚举接口:/natChannelStatus
    参数:无
    案例:https://sekiro.virjar.com/natChannelStatus?group=xingxing

二. 版本更新内容:(列出涉及的功能内容,如果比较复杂,可以在附件中补充下需求文档,接口文档,或其他文档)

  1. 以tcp为底层协议提供一套客户端,服务器通信的交互协议
  2. 提供接口解析映射成sekiro通讯协议,完成与客户端的交互
  3. 这里的客户端指Android,ios,python,java等夸语言实现一套sekiro协议通讯的终端
  4. sekiro主要是接口信息转发,统一管理终端
  5. sekiro协议报文字段说明
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    struct SekiroPacket {
    //数据包长度,
    __int32_t packet_length;
    //消息类型,
    int8_t message_type;
    //消息id,每次递增,作为请求和响应关联使用。这个id是服务器端产生,客户端只需要使用
    int64_t serial_number;
    //扩展数据长度
    int8_t ext_length;
    //扩展数据,UTF8的字符串编码
    char *ext;
    //body,
    char *payload;
    };

三. 基础信息:(脚步语言的类型,服务器的类型,目录的结构,使用的开源软件,数据库类型,所有的连接页面,用到的框架等)

  1. 开发语言: java
  2. 开发用到的框架: springBoot(版本: 2.2.2.RELEASE) + netty(版本:4.1.43.Final)
  3. 数据库: 无
  4. 服务器: Linux操作系统

四. 安全评审证明:如涉及框架变更,数据安全(敏感信息展示)的业务需求实现,请提供安全评审通过的附件证明