リアルタイムメッセージング機能¶
概要¶
ここでは 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));
}
}