P2P点对点数据传输
更新日期:2025/2/13
目录
P2P传输功能
[选读] [P2P] 基于IOTCAPIs的局域网设备搜索
[选读] [P2P] 基于AVAPIs的家用摄像头开发-APP端
[选读] [P2P] 基于AVAPIs的家用摄像头开发-设备端
[选读] [P2P] 基于P2PTunnelAPIs和TCPIP协议开发NAS(或者摄像头)-APP端
[选读] [P2P] 基于P2PTunnelAPIs和TCPIP协议开发NAS(或者摄像头)-设备端
[选读] [P2P] P2P连线的密码验证
[选读] [P2P] P2P分区设定
[选读] [P2P] RDT的切包和组包
[选读] [P2P] 常见错误码解析
[选读] [P2P] SDK日志设定和抓取
[选读] [P2P] 低功耗设备对接流程
[选读] [P2P] 事件的回放与下载参考
[选读] [P2P] 文件传输(上传,下载)协议设计(公版参考版)
[选读] [P2P] IOS模拟器的库合并方法
其他服务
[选读] [配网] 常见的配网方式实作纲要
[选读] [智能音箱] 智能音箱-Ceres服务
[选读] [IOT] Nebula与IOT
[选读] [VSaaS] 云存储对接-目录
[选取] [Push] TUTK Push Service-KPNS
[选读] [Server] P2P服务器日志分析
[选读] [Server] 全球化部署-后分区设定策略
[选读] [Agent] Agent入门
温馨提示:新客户使用3.3以上版本的SDK进行开发时,请务必先联系我们的业务人员,申请好对应的SDK license key和测试用的UID。对接接过程如果有疑问,请随时联系我们的相关人员咨询和帮您解决!
版本发布信息
版本号 | IOTCAPIs | AVAPIs | GlobalAPIs | RDTAPIs | P2PTunnelAPIs | Sample |
---|---|---|---|---|---|---|
v3.4.7.3 |
|
| ||||
v3.4.7.2 |
| |||||
v3.4.7.1 |
|
|
|
| ||
v3.4.7.0 |
|
| 增加端口白名单机制 | 优化AVServStartEx参数未初始化导致崩溃的问题 | ||
v3.3.5.0 v3.4.6.0 |
|
|
|
常见的概念说明
- SDK License Key : App和设备端SDK使用,用以启动SDK,以及master ip解析。
- UID : 设备端配置,用以平台识别设备的唯一ID。
- ServerKey : P2P服务器使用,用以平台识别某台P2P服务器的唯一ID。
- P2P License Key : P2P服务器使用,会被用以解析master ip。
- Master服务器 : 主服务器,UID的验证,P2P服务器的管理,分布于中国、亚洲、欧洲、北美。
- P2P服务器 : 用以管理UID的报到,连线,以及数据转发。全球分布,可以私有化部署。
- 连接(会话) :APP和设备之间的一次访问,直到调用API断开或者异常断开。(了解更多:连接与通道)
- 连线模式 :
- LAN - 局域网模式,即客户端与设备在同一个路由器下面。
- P2P - 点对点通信,即客户端与设备之间直接通信。
- RLY - 转发模式,即客户端与设备端的通信,需要服务器转发。
- 通道 :连接成功建立后,用以传输数据的管道。(了解更多:连接与通道)
- 区域 :服务器的区域,终端的区域,主要指地理空间。
- VPG : 群组,以VID+PID+GID区分,每个厂商最少会有一个VPG,可以用不用的VPG管理不同的客户或者产品,多个VPG对于分区分流的服务器部署会比较有帮助。
- VID : 厂商ID。
- PID : 产品ID。
- GID : 组ID。
常规默认数值
模块 | 模块简介 | 描述 | 数值 |
---|---|---|---|
IOTCAPIs | 提供P2P连线接口和不可靠的传输接口,一般只用作连线设备,以及连线的管理,主要操作对象是连线的ID(SID)。 | 最大连接数/个 | 128 |
APP和设备端默认的心跳超时/秒 | 60(超时会返回-23,-20016等报错) | ||
APP和设备端默认的心跳间隔/秒 | 1 | ||
设备端login心跳间隔/秒 | 40(3.1.10以下是25) | ||
P2P服务器判定设备logout的心跳超时/分钟 | 5~10 | ||
每个连接的最大通道数/个 | 32 | ||
authkey长度 | 8 | ||
IOTC连线超时/秒 | 60 | ||
AVAPIs | 基于IOTC模块来进行数据传输(可靠性可以设定),比如图像,声音,控制,状态等信息,对不同类型数据,封装了不同的接口,主要操作的对象是av通道(avIndex)。 | 每个连接的最大通道数/个 | 32 |
密码最大长度/位 | 257 | ||
token最大长度/位 | 1024 | ||
IO附带数据大小 | 3.3以下SDK不超过1020字节,3.3以上版本不限 | ||
视频帧大小 | 可以到1MB,要对应调大缓存区 | ||
音频帧大小 | 1280字节 | ||
RDTAPIs | 基于IOTC模块进行可靠的数据传输,只提供简单的Read和Write接口,需要自己设计上层协议和切包,主要操作的对象是RDTIndex; | 最大可用RDT通道数/个 | 128 |
buffer大小上限 | 不限制,依赖于系统内存容量 | ||
P2PTunnelAPIs | 基于RDTAPIs进行可靠的数据传输,提供的是虚拟的数据隧道服务,只需要简单的几行代码,便可以接入基于TCP/IP协议开发的协议,比如http,https,ftp,ssh,telnet,rtsp等 |