- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通信协议
客户端和服务端采用WebSocket 长连接。采用JSON-RPC 2.0协议进行消息推送。
连接建立
由客户端发起连接
连接地址 ws://…./…?token=1234567890abcdef,
服务端从连接地址Query String中的 token 参数识别客户端身份
连接结束
WebSocket 断开
心跳发起方在发起下一次心跳前没有收到上一次心跳的响应,则断开连接
心跳接收方超过时限没有收到心跳包则断开连接
JSON-RPC简介
JSON-RPC是一种基于JSON的跨语言远程调用协议。有文本传输数据小,便于调试扩展的特点。
1. 请求
JSON-RPC非常简单,在请求时向服务器传输数据格式如下
{
jsonrpc : 2.0,
method : sayHello,
params : [Hello JSON-RPC],
id : 1
}
jsonrpc:定义JSON-RPC版本。
method:调用的方法名。
params:方法传入的参数,若无参数则为null。
id:调用标识符。可以为字符串,不推荐包含小数(不能准确二进制化),或为null(可能引起混乱)。
2. 响应
服务器返回的数据格式也为JSON,其格式如下:
{
jsonrpc : 2.0,
result : Hell JSON-RPC,
error : null,
id : 1
}
jsonrpc:定义JSON-RPC版本。
result:方法返回值,调用成功时,不能为null,调用错误时,必须为null。
error:调用时错误,无错误返回null,有错误时则返回一个错误对象。
id:调用标识符,与调用方传入的标识一致,当请求中的id检查发生错误时(转换错误/无效请求),则必须返回null。
3. 错误
3.1. 错误对象
{
code : 1,
message : Nothing found,
data:null
}
code:一个表示错误类型的数字。
message:错误描述。
data:附加信息,可为null。
3.2. 错误码
错误码-32768到-32000作为预定义错误的保留值,该范围内的任何未定义代码为未来保留使用。
代码
错误
含义
-32700
解析错误
服务器接收到无效的JSON;服务器解析JSON文本发生错误。
-32600
无效的请求
发送的JSON不是一个有效的请求。
-32601
方法未找到
方法不存在或不可见。
-36602
无效的参数
无效的方法参数。
-36603
内部错误
JSON-RPC内部错误。
-32000到-32099
服务器端错误
保留给具体实现服务器端错误。
p2p穿透
客户端发起
method: p2p_info
params:
参数名称
是否必须
数据类型
默认值
描述
proxy_id
True
String
代理ID,如:0000002562
token
True
String
网页鉴权值,一串字符
client_ver
True
String
客户端版本号
响应
成功返回
result:
参数名称
是否必须
数据类型
默认值
描述
p2p_user
True
String
P2P用户名
turn_ip
True
String
P2P服务器IP
turn_port
True
Int
P2P服务器端口
sms_local_port
True
String
本地SMS服务器端口
失败返回
error:
参数名称
是否必须
数据类型
默认值
描述
code
True
Int
错误码
message
True
String
错误描述
data
True
Int
附加信息 NULL
开始视频流
客户端发起
method: start_video
params:
参数名称
是否必须
数据类型
默认值
描述
token
True
String
网页鉴权值,一串字符
client_ver
True
String
客户端版本号
sms_ip
True
String
SMS 服务器 IP
sms_port
True
Int
SMS 服务器端口
device_id
True
String
摄像头设备号
stream_type
True
Int
码流类型,0.主码流,1.子码流
响应
成功返回
result:
参数名称
是否必须
数据类型
默认值
描述
sms_stream_id
True
String
SMS登录ID
失败返回
error:
参数名称
是否必须
数据类型
默认值
描述
code
True
Int
错误码
message
True
String
错误描述
data
True
In
文档评论(0)