docs.unity3d.com
    目次を表示する/隠す

    データチャネル

    データチャネル(DataChannel)は、文字列やバイナリをピア間で送受信するための機能です。WebSocket と同等の機能を持ちつつ、プロトコルに UDP を利用しているためハイパフォーマンスであるという特徴があります。

    データチャネルの作成

    データチャネルは、1つのピアに対して複数作成できます。データチャネルの作成には、まず RTCPeerConnection の CreateDataChannel メソッドを呼び出す方法があります。

    // Create the data channel
    var option = new RTCDataChannelInit();
    var channel = peerConnection.CreateDataChannel("test", option);
    

    また、他方のピアがデータチャネルを作成した場合に、コールバックとして RTCPeerConnection.OnDataChannel デリゲートが実行されます。

    //  OnDataChannel デリゲートの登録
    peerConnnection.OnDataChannel = channel => 
    {
        // ...
    }
    

    データチャネルがピア間で通信可能になったとき、 RTCDataChannel.OnOpen デリゲートが実行されます。また、切断したときは RTCDataChannel.OnClose が実行されます。

    メッセージの送信

    メッセージの送信には文字列もしくはバイナリを利用できます。 RTCDataChannel.Send メソッドを実行してください。

    // 文字列を送信する
    string text = "hello";
    channel.Send(text);
    
    // バイト列を送信する
    byte[] data = System.Text.Encoding.ASCII.GetBytes(text);
    channel.Send(data);
    

    メッセージの受信

    メッセージ受信は RTCDataChannel.OnMessage デリゲートを利用します。

    // OnMessage デリゲートの登録
    channel.OnMessage = bytes => 
    {
        // ...
    }
    
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)