信令服務
SwarmCloud
# 簡介
信令伺服器用於在WebRTC建立P2P連接過程中交換信令。
不同信令伺服器的節點即使播放同一個視頻也無法進行P2P。
# 官方信令服務
# 默认
- 香港:wss://signal.cdnbye.com
# 华北地区
- 北京:wss://pk.swarmcloud.net
# 华东地区
- 上海:wss://signal.swarmcloud.net
# 西南地区
- 成都:wss://cd.swarmcloud.net
# 北美
- 美國:wss://opensignal.cdnbye.com
- 加拿大:wss://ca.cdnbye.com
# 南美
- 巴西:wss://br.cdnbye.com
# 欧洲
- 德國:wss://signalcloud.cdnbye.com
# 亚太东南
- 新加坡:wss://sg.cdnbye.com
- 澳大利亚:wss://as.cdnbye.com
# 亚太东北
- 日本:wss://jp.cdnbye.com
- 韩国:wss://korea.cdnbye.com
# 亚太南部
- 印度:wss://id.cdnbye.com
# 自行部署
可自行部署信令伺服器,以下為開源參考:
- cbsignal (opens new window) (Go語言版,適用於單伺服器場景)
- cbsignal_node (opens new window) (Node.js版,適用於單伺服器場景)
- cbsignal_redis (opens new window) (Go語言版,適用於集群場景)
# 更換信令方法
# 通過雲端下發(推薦)
- 登入控製臺
- 依次點擊 P2P配置 -> 信令管理
- 輸入信令地址(以wss或者ws開頭),點擊確定即可生效
# SDK側配置
# Web SDK
p2pConfig: {
wsSignalerAddr: 'ws://your.signalservice.com',
// Other p2pConfig options provided by cdnbye
}
// Pass p2pConfig to your P2PEngine ...
# 安卓SDK
val config = P2pConfig.Builder()
.wsSignalerAddr("ws://your.signalservice.com")
.build()
P2pEngine.init(ctx, YOUR_TOKEN, config)
# iOS SDK
let config = SWCP2pConfig.defaultConfiguration()
config.wsSignalerAddr = "ws://your.signalservice.com"
SWCP2pEngine.sharedInstance().start(token: YOUR_TOKEN, p2pConfig: config)
# Flutter SDK
Cdnbye.init(
YOUR_TOKEN,
config: P2pConfig(
wsSignalerAddr: 'ws://your.signalservice.com',
)
);
# 開啟信令鑒權
在私有部署信令服務情況下,可以開啟對信令連接鑒權,阻止未授權請求,步驟如下:
- cbsignal在 config.yaml 配置鑒權:
security:
enable: true # 開啟鑒權
maxTimeStampAge: 3600 # 時間戳過期時間,單位秒
token: YOUR_TOKEN # 自定義token,不能大於8個字符
- cbsignal_node在 config.json 配置鑒權:
"websocketsAccess": {
"token": YOUR_YOKEN,
"maxTimeStampAge": 3600
}
- 聯系官方客服告知信令地址和token
- Tracker伺服器將為授權的節點下發token加密過的字符串,用於信令服務鑒權
在開啟信令鑒權之前必須通過雲端下發信令地址。