マルチプレイ用の通信モジュール

複数のプレイヤーが参加できるためのネットワークモジュールについて定義し、実装します。

必要な機能の確認

サーバ側がゲームの情報を管理するモデルを考えます。

inline_dotgraph_3.dot

このモデルでは、クライアントはゲームに対する操作情報をサーバに送り、サーバは更新されたゲーム情報を全てのクライアントに送信して同期しています。ゲーム情報が小規模であれば、全てのクライアントの情報を1つに同期する実装で問題ないでしょう。

このモデルで実装したチャットサンプルを以下に示します。
チャットなので、サーバは各クライアントからのメッセージを、全てのクライアントに送っています。

chat_server.cpp, chat_client.cpp, chat_client.lua

chat_sample_image.png

クライアント画面の動作例


パケット形式の定義

パケット形式を定義します。
TCP/IP での送受信を想定しており、パケット全体のチェックサム等は省略しています。

inline_dotgraph_4.dot


各種パケットの定義


コメントページ



Generated on Mon May 18 11:11:11 2009 by  doxygen 1.5.7.1