信令服务
# 简介
信令服务器用于在WebRTC建立P2P连接过程中交换信令。
不同信令服务器的节点即使播放同一个视频也无法进行P2P。
# 免费信令服务
- wss://signal.cdnbye.com (香港节点,默认)
- wss://opensignal.cdnbye.com (美国节点)
- wss://signalcloud.cdnbye.com (德国节点)
- wss://signal.p2pengine.net:8089 (俄罗斯节点)
# 自行部署
可自行部署信令服务器,以下为开源参考:
- cbsignal (Go语言编写)
cbsignal默认不开启zlib压缩,可以开启以降低服务器出带宽,在 config.yaml 开启压缩。
# 更换信令方法
# 通过云端下发(推荐)
- 登录控制台
- 依次点击 P2P配置 -> 信令管理
- 输入信令地址(以wss或者ws开头),点击确定即可生效
# SDK侧配置
# Web SDK
p2pConfig: {
wsSignalerAddr: 'ws://your.signalservice.com',
// Other p2pConfig options provided by cdnbye
}
// Pass p2pConfig to your P2PEngine ...
# 安卓SDK
P2pConfig config = new P2pConfig.Builder()
.wsSignalerAddr("ws://your.signalservice.com")
.build();
P2pEngine.initEngine(ctx, YOUR_TOKEN, config);
# iOS SDK
CBP2pConfig *config = [CBP2pConfig defaultConfiguration];
config.wsSignalerAddr = @"ws://your.signalservice.com";
self.engine = [[CBP2pEngine alloc] initWithToken:YOUR_TOKEN andP2pConfig:config];
# Flutter SDK
Cdnbye.init(
YOUR_TOKEN,
config: P2pConfig(
wsSignalerAddr: 'ws://your.signalservice.com',
)
);
# 开启信令鉴权
在私有部署信令服务情况下,可以开启对信令连接鉴权,阻止未授权请求,步骤如下:
- 在 config.yaml 配置鉴权:
security:
enable: true # 开启鉴权
maxTimeStampAge: 3600 # 时间戳过期时间,单位秒
token: YOUR_TOKEN # 自定义token,不能大于8个字符
- 联系官方客服告知信令地址和token
- Tracker服务器将为授权的节点下发token加密过的字符串,用于信令服务鉴权