CTR-Pia
5.4.3
Game Communication Engine
|
nn::pia::transport の ReliableBroadcastProtocol の使用方法を解説するためのデモです。
このサンプルデモは、以下の項目に関するデモです。
通信のモードを選択する画面です。 選択するとマッチメイクが行われた後メイン画面に移行します。
入力 | 動作 |
---|---|
A ボタン | ローカル通信 (UDS) のホストとして実行します。セッションを作成後メイン画面に移行します。 |
B ボタン | ローカル通信 (UDS) のクライアントとして実行します。 UDS ネットワークを検索して発見したものに参加し、メイン画面に移行します。 UDS ネットワークを検索中に START ボタンを押すと、検索を中断してモード選択画面に戻ります。 |
X ボタン | インターネット通信を使うモードで実行します。 ランダムマッチメイクを行い、参加できるセッションがあればそこにクライアントとして参加、無ければホストとしてセッションを作成します。 その後、メイン画面に移行します。 |
START ボタン | アプリケーションを終了します。 |
ReliableBroadcastProtocol を使って大きなデータを送受信できます。
メイン画面中は、他の機器が任意のタイミングでセッションに参加、離脱が可能です。
エラーが発生するなどセッションを継続できない場合は、自動的にモード選択画面に戻ります。
"State" に現在の動作状態(State)が表示されます。
"Receive" では、受信する受信要求、受信バッファのサイズを指定して受信を開始します。
"request" で受信する受信要求を切り替えます。 存在する受信要求を選ぶと、その内容が表示されます。 "top priority" は最優先の受信要求で、通常はこれを選択します。
"receive buffer size" は受信バッファのサイズを指定します。 受信要求のデータサイズより小さい場合は受信に失敗します。
"> Start receive" で受信を開始します。 "request" で受信するステーションを直接選んでいる場合は、受信要求が無くても受信開始でき、受信要求が届き次第受信が始まります。
"> Reject request" で選択した受信要求を受信拒否します。
"Send" では、送信するサイズ、送信の設定を指定して送信を開始します。
"data size" で送信するデータのサイズを指定します。
"send to newcomer" から "mediate request" は送信の動作方式を設定します。 詳細は ReliableBroadcastProtocol::Configuration を参照してください。
"> Start send" で送信を開始します。
送信するデータは、あらかじめ用意された 10MB のランダムなデータの一部です。 どの部分を送信するかは送信するごとにランダムに決まり、その位置が "offset" で表示されます。 この offset の値は送信時にユーザーデータ(ReliableBroadcastProtocol::StartSend 参照)として指定されて受信側に通知され、受信完了後の内容チェックに使われます。
"Progress" では、現在の送受信の進捗を表示します。
"> Cancel" で現在実行中の送受信を中断します。
"send endless" を "yes" として送信した場合は、 "> Finish send endless" で送信を終了させます。 詳細は ReliableBroadcastProtocol::Configuration::IsSendEndless を参照してください。
送受信終了後も送受信の結果は保持されて参照できますが、 "> Reset" でリセットされ初期状態に戻ります。 リセットを行わなくても次の送受信は開始できます。
入力 | 動作 |
---|---|
十字ボタン上下 | カーソル(ピンク色で表示されます)を移動させます。 |
十字ボタン左右 | 値を切り替える項目にカーソルがある場合、その値を変更します。 バイト数を指定する項目では通常は 256KB ずつ変化しますが、 L を押しながらだと 1KB ずつ、 R を押しながらだと 4B ずつ変化します。 |
A ボタン | コマンドを実行する項目(頭に ">" がつきます)にカーソルがある場合、そのコマンドを実行します。 |
START ボタン | セッションから離脱してモード選択画面に戻ります。 セッションホストだった場合はセッションが終了するので、セッションに入っていた他の機器もモード選択画面に戻ります。 |