引用: オンラインゲームのしくみ: Unityで覚えるネットワークプログラミング by 河田匡稔(まさとし)さん
7.5 通信プログラムの動作確認とデバッグの仕方
LANでは数msでデータが届いてしまうため、大きな遅延が発生するときの動作確認には使えません。そのため、LAN上でわざと通信遅延を発生させて、通信遅延の大きな環境を擬似的に作るための遅延エミュレータが必要になります。遅延エミュレータは、本章で学習した入力遅延のしくみを利用して作成することができます。
キー入力遅延では、入力された情報を遅延させるフレーム数分、データをバッファリングします。バッファに情報が溜まるまでゲーム処理を停止させ、バッファがいっぱいになったときから1フレームに1回、バッファから入力データを取出します。こうすることで遅延を発生させています。送信するデータに対してこれと同様なことを行えば、通信遅延を発生させることができます。
通信環境が悪い状況をどのように再現するか検討していたが、この本に答えが書いてあった。
送信側を制御できない場合は、受信側でも同様にバッファリングを使って遅延を再現できそう。