ネットワーク関連メモ
ゲームに関連するネットワークプログラミングの技術メモです。
言語はCを予定。
基本編
01:とりあえず通信
簡単なチャットクライアントを作ってみる。
簡単なHTTPクライアントを作ってみる。
発展編
■ラグの問題
遅延
応答速度 ping
LAN 1~2ms
WAN 10~50ms
帯域
回線の太さ
LAN 100M~1Gbps
WAN 1M~50Mbps
3G 200~500kbps
パケットロス
回線の品質、データの信頼性
■通信の種類
UDP 速いが信頼できない
TCP 信頼できるが遅い
なのでReliableUDPというのを使う
パケットに番号が振ってあり、抜けがある場合は再送される
■格闘ゲームの同期
入力をUDPでやりとりすることで画面を完全に同期する
ウェイトフレームを設定
2F,3Fならば(40~50ms程度)先行入力などで快適に動作できる
パケットには10Fの入力が入ってるので、パケットロスが発生した場合は次のフレームでリカバリする。
10F以上のバーストエラーに対しては
RUDPで1秒に一回60F分のデータをやり取りしてリカバリを可能にする。
無線通信などの場合、2Fに一度2Fずつデータを渡したりすることで帯域の節約をする。
その分ウェイトは大きくなる。
上の例だと4F(80ms程度)
最終更新:2010年11月24日 23:51