P2P模塊介紹
TUTK P2P協(xié)議,是TUTK基于UDP/TCP協(xié)議自行開發(fā)的一套點對點通信協(xié)議,提供了設備快速連入P2P平臺和APP方便快捷訪問設備的能力。P2P SDK提供了透傳的通道,方便接入各種類型的數(shù)據,并且提供了豐富的API,方便應用層自由開發(fā)各種功能。P2P SDK高效的穿透能力,可以為流媒體傳輸節(jié)省大量服務器成本。
一、常見的概念
SDK License Key: App和設備端SDK配置,用以啟動SDK,以及Master服務器 IP地址解析。
UID: 設備端配置,用以平臺識別設備的唯一ID。
ServerKey: P2P服務器配置,用以授權該P2P服務器。
P2P License Key: P2P服務器配置,會被用以解析master ip。
Master服務器: 主服務器,用以UID的驗證,P2P服務器的管理,分布于中國、亞洲、歐洲、北美等區(qū)域。
P2P服務器: 用以管理UID的報到,協(xié)助APP連線設備,以及數(shù)據轉發(fā)。全球分布,可以私有化部署。
連接(會話): APP和設備之間的一次訪問,直到調用API斷開或者異常斷開。(了解更多:連接與通道)
連線模式:
- LAN - 局域網模式,即客戶端與設備在同一個路由器下面。
- P2P - 點對點通信,即客戶端與設備之間直接通信。
- RLY - 轉發(fā)模式,即客戶端與設備端的通信,需要服務器轉發(fā)。
通道: 連接成功建立后,用以傳輸數(shù)據的管道。(了解更多:連接與通道)
區(qū)域: 服務器的區(qū)域,終端的區(qū)域,主要指地理空間。
VPG: 群組,以VID+PID+GID區(qū)分,每個廠商最少會有一個VPG,可以用不同的VPG管理不同的客戶或者產品,多個VPG對于分區(qū)分流的服務器部署會比較有幫助。
VID: 廠商ID。
PID: 產品ID。
GID: 組ID。
NAT: 網絡地址轉換協(xié)議,NAT類型會直接影響P2P的穿透。
二、SDK的默認數(shù)值
| 模塊 | 模塊簡介 | 描述 | 數(shù)值 |
|---|---|---|---|
| IOTCAPIs | 提供P2P連線接口和不可靠的傳輸接口,一般只用作設備報到,設備連線,以及連線的管理,主要操作對象是連線的ID(SID)。 | 最大連接數(shù)/個 | 128 |
| APP和設備端默認的心跳超時/秒 | 60(超時會返回-23,-20016等報錯) | ||
| APP和設備端默認的心跳間隔/秒 | 1 | ||
| 設備端login心跳間隔/秒 | 40(3.1.10以下是25) | ||
| P2P服務器判定設備logout的心跳超時/分鐘 | 5~10 | ||
| 每個連接的最大通道數(shù)/個 | 32 | ||
| authkey長度 | 8 | ||
| IOTC連線超時/秒 | 60 | ||
| AVAPIs | 基于IOTC模塊來進行封裝的數(shù)據傳輸(重傳機制可配置),比如圖像,聲音,控制,狀態(tài)等信息,對不同類型數(shù)據,封裝了不同的接口,主要操作的對象是av通道(avIndex)。 | 每個連接的最大通道數(shù)/個 | 32 |
| 密碼最大長度/位 | 257 | ||
| token最大長度/位 | 1024 | ||
| IO附帶數(shù)據大小 | 3.3以下SDK不超過1020字節(jié),3.3以上不超過131068字節(jié)。 | ||
| 視頻幀大小 | 可以到1MB,要對應調大緩存區(qū) | ||
| 音頻幀大小 | 1280字節(jié) | ||
| RDTAPIs | 基于IOTC模塊進行封裝的可靠的數(shù)據傳輸,只提供簡單的Read和Write接口,需要自己設計上層協(xié)議和切包,主要操作的對象是RDTIndex。 | 最大可用RDT通道數(shù)/個 | 128 |
| buffer大小上限 | 不限制,依賴于系統(tǒng)內存容量 | ||
| P2PTunnelAPIs | 基于RDTAPIs模塊進行封裝的可靠的數(shù)據傳輸,提供的是虛擬的數(shù)據隧道服務,只需要簡單的幾行代碼,便可以接入基于TCP/IP協(xié)議開發(fā)的協(xié)議,比如http、https、ftp、ssh、telnet、rtsp等。 | - | - |
三、功能對接
一般消費類的智能產品,通過會包含直播、監(jiān)聽,對講、回放、下載、云存等功能:

主要功能列表:
