リアルタイムメッセージング機能¶
概要¶
ここでは Sora Unity SDK のサンプル集を使ってリアルタイムメッセージング機能について説明します。
リアルタイムメッセージング機能の注意点¶
リアルタイムメッセージングを使用する場合は Data Channel Signaling が有効になっている必要があります。
リアルタイムメッセージングの詳細については Sora のドキュメント を参照してください。
リアルタイムメッセージング設定¶
リアルタイムメッセージングはラベルを指定することで利用することができます。
Data Channels¶
設定したいメッセージの数を指定します。
Element¶
DataChannels で指定した数だけ生成されます。それぞれのラベルを指定します。
Label¶
メッセージのラベルを指定します。先頭に # が付いている必要があります。
Direction¶
メッセージを送受信、または送信するか受信するかを指定します。
sendrecv は送受信、sendonly は送信のみ、recvonly は受信のみになります。
Ordered¶
Ordered を有効にするとメッセージが順番に届くようになります。
Ordered を有効にするには以下の設定が必要です。
Enable Ordered を有効にする
Ordered を有効にする
Max Packet Life Time¶
最大再送時間を指定することができます。デフォルトは未指定で無制限です。
Max Packet Life Time を有効にするには以下の設定が必要です。
Enable Max Packet Life Time を有効にする
Max Packet Life Time を有効にする
Max Retransmits¶
最大再送回数を指定することができます。デフォルトは未指定で無制限です。
Max Retransmits を有効にするには以下の設定が必要です。
Enable Max Retransmits を有効にする
Max Retransmits で再送回数を指定する
Protocol¶
現在指定する必要はありません。
Compress¶
Compress を有効にするとメッセージが圧縮されます。
Compress を有効にするには以下の設定が必要です。
Enable Compress を有効にする
Compress を有効にする
Header¶
Header を有効にして、Inspector で以下の設定をすることで Sora がメッセージにヘッダーを付与します。
{"type": "sender_connection_id"}を設定する
メッセージの送信¶
Sora Unity SDK サンプル集ではメッセージの送信は ゲーム画面の送信ボタンを押下することで送信できます。
メッセージの内容は aaa を送信するようになっています。
SoraSample.cs の以下に示す部分を変更することで送信するメッセージを変更することができます。
public void OnClickSend()
{
if (fixedDataChannelLabels == null || sora == null)
{
return;
}
// リアルタイムメッセージングを使って全てのラベルに適当なデータを送る
foreach (var label in fixedDataChannelLabels)
{
string message = "aaa";
sora.SendMessage(label, System.Text.Encoding.UTF8.GetBytes(message));
}
}