シグナリングプロトコル
Unity Render Streaming パッケージは2つの異なるプロトコルを提供します。
- HttpSignaling
- WebSocketSignaling
どのプロトコルを利用するかに応じて、 URL Signaling に指定するスキーマを変更してください。

HTTPSignaling の場合は http、 WebSocketSignaling の場合は ws を指定します。
HttpSignaling
シグナリングに HTTP リクエストを使用します。指定した間隔毎にシグナリングサーバに対してポーリングを行います。
WebSocketSignaling
シグナリングに WebSocket を使用します。
Warning
WebSocket を iOS Safari で使用する場合、自己署名証明書を使用したウェブサーバでは正常に動作しません。 iOS Safari での WebSocket によるシグナリングの動作を確認する場合は、信頼された証明機関から発行された証明書を使用してください。もしくは、HTTP によるシグナリングをお試しください。
独自のシグナリングクラス
独自のシグナリングクラスを作成する場合は、 ISignaling を継承して利用します。 以下に各メソッドの説明します。
void Start();
- シグナリングを開始する際に呼び出すメソッドです。
- サンプルでは、各プロトコルにおけるサーバーとのセッション確立を行っています。
void Stop();
シグナリングを終了する際に呼び出すメソッドです。サンプルでは、各プロトコルにおけるサーバーとのセッション終了を行っています。
public delegate void OnOfferHandler(ISignaling signaling, DescData e);
event OnOfferHandler OnOffer;
シグナリングによって新しいOfferを受け取ったときに実行する処理を登録するデリゲートです。
public delegate void OnAnswerHandler(ISignaling signaling, DescData e);
event OnAnswerHandler OnAnswer;
- シグナリングによって新しい Answer を受け取ったときに実行する処理を登録するデリゲートです。
- 現在のバージョンでは、UnityにおいてAnswer を受け取る場合がないため使用されていません。
public delegate void OnIceCandidateHandler(ISignaling signaling, CandidateData e);
event OnIceCandidateHandler OnIceCandidate;
- シグナリングによって新しいCadicateを受け取ったときに実行する処理を登録するデリゲートです。
void SendOffer();
- シグナリングで Offer を送る際に呼び出すメソッドです。
- 現在のバージョンでは Unity から Offer を送ることができないため、サンプルでは実装されていません。
void SendAnswer(string connectionId, RTCSessionDescription answer);
- シグナリングで Answer を送る際に呼び出すメソッドです。
void SendCandidate(string connectionId, RTCIceCandidate candidate);
- シグナリングで Candidate を送る際に呼び出すメソッドです。