XTC_AccessNet

接入网

接入网可将多个接入点组成一个网络。接入点在接入网络后,会上传自身的硬件、系统、程序等相关信息。并在运行过程中保持心跳。

术语约定

  • 接入点 (Access Point)

在一个设备上运行的衍生应用,称为一个接入点。接入点以SerialNumber作为身份识别。

接入点和应用相关,和硬件无关。

  • 序列号 (SerialNumber)

序列号和设备码(Device Code)不同,它们的主要区别为:

设备码由硬件信息生成,保证物理上的不可篡改性和不可复制性,设备码主要用于激活授权等敏感操作。

序列号由业务实际使用场景预先生成,配置到AppConfig.xml中,在物理上可篡改,可复制。主要用于设备身份识别操作。

在不配置序列号时,序列号的值默认为设备码。

功能特性

接入点三态

接入点有在线离线异常三种状态。

接入点信息上报

接入点将以下硬件信息上报给服务端:

  • 设备名称

  • 设备型号

  • 设备类型

接入点将以下系统信息上报给服务端:

  • 操作系统系列

  • 操作系统版本

接入点将以下程序信息上报给服务端:

  • 应用程序组织名

  • 应用程序产品名

  • 应用程序版本号

  • 应用程序授权时间

  • 应用程序授权有效期

接入点上线 (Access Point Online)

当客户端应用运行AccessNet模块后,会向服务端发送上线消息,并发送当前的硬件、系统、程序的相关信息。并获取自身的UUID用于后续通信。

接入点心跳 (Access Point HeartBeat)

客户端模块上线完成后,每隔一段时间向服务端发送心跳,告知服务端自身的健康状态。服务端将客户端的状态更改为在线

接入点下线 (Access Point Offline)

客户端应用程序退出时,告知服务端自己主动下线。服务端收到下线消息后,将客户端的状态更改为离线。如果服务端未收到客户端的离线消息,并在一段时候后也未收到客户端的心跳消息,那么服务端将客户端的状态更改为异常

配置说明

UnityApp

<?xml version="1.0" encoding="utf-8"?>
<MyConfig version="1.0">
    <!-- UI 
      visible: 预加载完成后是否显示
      slot: ui根节点在主Canvas中的挂载路径
    -->
    <UI visible="true" slot="[root]"/>
    <!-- World
      visible: 预加载完成后是否显示
      slot: world根节点的挂载路径
    -->
    <World visible="true" slot="[root]"/>
    <!-- 远程过程调用
      address: 地址
    -->
    <GRPC address="https://localhost:19000"/>
    <!-- 样式列表
      name: 名称
    -->
    <Styles>
        <Style name="default">
        </Style>
    </Styles>
    <!-- 预创建的实例列表
      uid: 实例的唯一ID
      style: 使用的样式名
      uiSlot: UI挂载的路径
      worldSlot: World挂载的路径
    -->
    <Instances>
        <Instance uid="default" style="default" uiSlot="" worldSlot=""/>
    </Instances>
    <!-- 预加载 -->
    <Preload>
        <!-- 消息订阅的主题
          message: 消息
          Parameter.key: 参数的键
          Parameter.value: 参数的值
          Parameter.type: 参数的类型,支持的类型为string,int,float,bool
        -->
        <Subjects>
            <Subject message="/XTC/AccessNet/Open">
                <Parameters>
                    <Parameter key="uid" value="default" type="string"/>
                    <Parameter key="source" value="" type="string"/>
                    <Parameter key="uri" value="" type="string"/>
                    <Parameter key="delay" value="0" type="float"/>
                </Parameters>
            </Subject>
        </Subjects>
    </Preload>
</MyConfig>

消息订阅

通信协议

通信协议以Protobuf定义,各服务如下:

依赖插件

更新日志

Last updated