「ネットワーク関連メモ」の編集履歴(バックアップ)一覧はこちら
「ネットワーク関連メモ」(2010/11/24 (水) 23:51:39) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*ネットワーク関連メモ
ゲームに関連するネットワークプログラミングの技術メモです。
言語はCを予定。
**基本編
***01:とりあえず通信
winsock2を使ってTCPでつないでみる。
[[ネットワーク01-サーバー]]
[[ネットワーク02-クライアント]]
簡単なチャットクライアントを作ってみる。
簡単なHTTPクライアントを作ってみる。
http://www.geekpage.jp/programming/winsock/
http://www.nhk.or.tv/kow/program/program_136.php
*ネットワーク関連メモ
ゲームに関連するネットワークプログラミングの技術メモです。
言語はCを予定。
**基本編
***01:とりあえず通信
winsock2を使ってTCPでつないでみる。
[[ネットワーク01-サーバー]]
[[ネットワーク02-クライアント]]
簡単なチャットクライアントを作ってみる。
簡単なHTTPクライアントを作ってみる。
http://www.geekpage.jp/programming/winsock/
http://www.nhk.or.tv/kow/program/program_136.php
**発展編
http://www.4gamer.net/games/105/G010549/20100905002/
■ラグの問題
遅延
応答速度 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程度)