WebSocket服务器协议(开发版)

简要描述

WebSocket服务器主要用于PC端与小程序端数据交互,实现一对一的实时通讯功能。

基本功能介绍
  • 挂载:Pc端主动连接Websocket服务器,并保持心跳包(超时的连接会被强制下线)
  • 请求访问客户端:小程序端发起访问请求(通过扫小程序二维码,同时带上机器HID)询问服务器该HID对象是否在线,服务器端返回连接成功或失败信息
  • 消息转发
    • 小程序给Pc端发送消息:小程序发送消息必须指定机器的HID,并将自己的OpenId一起发送出去。当消息通过服务器成功转达Pc端时,Pc端需要返还成功接收的数据帧,并通过服务器转发给小程序端
    • Pc端给小程序发送消息:Pc端指定OpenId,并将消息发送给服务器。当消息通过服务器成功转达指定OpenId的小程序端,小程序端需要返还成功接收数据帧,并通过服务器端发送给Pc端
  • 日志记录:记录上线时间、下线时间、当前登录状态、心跳数据,通讯数据等
服务器地址
  • ws://192.168.13.58:58566
连接方式
  • WebSocket
通讯内容介绍
PC端请求连接服务器

PC端将自己的HID作为参数传入,发送请求如下:

{
    "sourceId":"OpenId/HID",
    "targetId":NULL,//空
    "message":{
        "type":"PcConnecting""content":"PC请求连接服务器"
    }
}

服务器返回数据如下

{
    "code":"001",
    "message":"PC端连接服务器成功"
}
小程序请求连接服务器

小程序将自己的openId与连接的Pc端HID作为参数传入,发送连接请求如下:

{
    "sourceId":"OpenId/HID",
    "targetId":"OpenId/HID",
    "message":{
        "type":"MiniAppConnecting""content":"小程序请求连接服务器"
    }
}

服务器返回数据如下

{
    "code":"002",
    "message":"小程序端连接指定PC端成功"
}
心跳帧

心跳帧格式如下为beats加上Pc端的HID或者小程序端的OpenId,每隔10s发送一次,超过10s未发送将会被强制下线

{
    "sourceId":"OpenId/HID",
    "targetId":NULL,
    "message":{
        "type":"Beats""content":心跳
    }
}
数据接收完成帧

数据接收完成时发送如下内容:

{
    "sourceId":"OpenId/HID",
    "targetId":"OpenId/HID",
    "message":{
        "type":"Received""content":数据接收完成
    }
}
消息帧

发送消息时的数据定义如下格式

{
    "sourceId":"OpenId/HID",
    "targetId":"OpenId/HID",
    "message":{
        "type":"消息类型""content":"消息内容"
    }
}
服务器返回码
信息码 功能介绍
001 PC端连接服务器成功
002 小程序端连接指定PC端成功
101 指定的Id不在线
102
103 服务器异常,建立连接失败
104 传参错误
105 HID或OpenId已存在
106 HID或OpenId错误
107 未知的消息类型
108 HID或OpenId不存在
消息类型定义
消息类型 功能介绍
PcConnecting PC请求连接服务器
MiniAppConnecting 小程序请求连接服务器
Received 数据接收完成
Beats 心跳
Message 数据帧