概要
シグナリングサーバーは、WebRTCでP2P接続を確立する過程でシグナリング情報を交換するために使用されます。
WARNING
異なるシグナリングサーバーに属するノードは、同じ動画を再生していてもP2Pを行うことはできません。
サーバー状態モニタリング
自前でのデプロイ
シグナリングサーバーはご自身でデプロイすることも可能です。以下はオープンソースの参考実装です:
シグナリング方法の変更
クラウド経由での配信(推奨)
- 管理パネルにログイン
- P2P設定 -> シグナリング管理 の順にクリック
- シグナリングアドレス(wssまたはwsで始まる)を入力するか、プルダウンからシグナリングの所在地域を選択し、確定をクリックすると即座に反映されます
SDK側での設定
Web SDK
javascript
p2pConfig: {
signalConfig: 'ws://your.signalservice.com',
// cdnbyeが提供するその他のp2pConfigオプション
}
// p2pConfig を P2PEngine に渡します ...Android SDK
kotlin
val config = P2pConfig.Builder()
.signalConfig("ws://your.signalservice.com")
.build()
P2pEngine.init(ctx, YOUR_TOKEN, config)iOS SDK
swift
let config = P2pConfig(
trackerZone: .Europe,
signalConfig: SignalConfig(mainAddr: "ws://your.signalservice.com")
)
P2pEngine.setup(token: YOUR_TOKEN, config: config)Flutter SDK
dart
SwarmCloud.init(
YOUR_TOKEN,
config: P2pConfig(
signalConfig: 'ws://your.signalservice.com',
)
);React Native SDK
typescript
initP2pEngine(YOUR_TOKEN, {
signalConfig: 'ws://your.signalservice.com',
})シグナリング認証の有効化
シグナリングサービスをプライベートにデプロイしている場合、シグナリング接続に対する認証を有効化し、認証されていないリクエストを遮断できます。手順は以下の通りです:
- config.yaml で認証を設定:
yaml
security:
enable: true # 認証を有効化
max_timestamp_age: 3600 # タイムスタンプの有効期限(秒単位)
token: YOUR_TOKEN # カスタムtoken、8文字以下である必要があります- シグナリングアドレスとtokenを公式カスタマーサポートに連絡
- Trackerサーバーが、認証済みノードに対してtokenで暗号化された文字列を配信し、シグナリングサービスの認証に使用します
WARNING
シグナリング認証を有効化する前に、必ずクラウド経由でシグナリングアドレスを配信しておく必要があります。
