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

    DataChannel

    DataChannel はテキストやバイナリをピア間で送受信するための機能です。WebSocket と類似した機能を利用できます。

    Note

    サンプル には DataChannel の動作を確認するための DataChannel シーンが含まれています。

    DataChannel の作成

    DataChannel を作成するには, RTCPeerConnection の CreateDataChannel メソッドを呼び出します。

    // `RTCDataChannel` インスタンスを作成。
    var option = new RTCDataChannelInit();
    var channel = peerConnection.CreateDataChannel("test", option);
    

    他のピアが DataChannel を作成したとき、 OnDataChannel がコールバックとして呼ばれます。

    // `OnDataChannel` にコールバックを登録。
    peerConnnection.OnDataChannel = channel => 
    {
        // 
    }
    

    ピア間で DataChannel による通信が可能になると、RTCDataChannel.OnOpen が呼ばれます。また、通信が切断されると、RTCDataChannel.OnClose が呼ばれます。

    メッセージの送信

    メッセージにはテキストやバイナリが利用できます。RTCDataChannel.Send メソッドを呼び出します。

    // テキストを送信。
    string text = "hello";
    channel.Send(text);
    
    // バイナリを送信。
    byte[] data = System.Text.Encoding.ASCII.GetBytes(text);
    channel.Send(data);
    
    // NativeArray を送信。
    NativeArray<float> array = new NativeArray<float>(10, Allocator.Temp);
    channel.Send(array);
    

    メッセージの受信

    メッセージを受信するには RTCDataChannel.OnMessage を実装します。

    // `OnMessage` にコールバックを登録。
    channel.OnMessage = bytes => 
    {
        // ...
    }
    
    トップに戻る
    Copyright © 2023 Unity Technologies
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on Wednesday, November 1, 2023