チャット画面
チャット画面では、以下の処理を行う必要がある。
基本的に、上記の処理は接続中のサーバと情報をやりとりする必要がある。サーバ、クライアント間のパケットの種類を列挙したものは以下の通り。(16進表示の数値はパケットの種別を示す)
- サーバ -> クライアント
- 追加ユーザ名の通知 (0x01) ... 存在する全ユーザに送信
- 既存ユーザの削除 (0x02) ... 存在する全ユーザに送信
- 対戦要求 (0x03) ... 指定ユーザに仲介
- チャットメッセージ (0x04) ... 存在する全ユーザに送信
- チャットメッセージ (0x05) ... 特定ユーザに送信
- クライアント -> サーバ
- 通知ユーザ名の通知 (0x11) ... 自ユーザ名の送信
- 新規の対戦要求 (0x13) ... 送信ユーザを指定してサーバに送信
- 新規のチャットメッセージ (0x14)
- 新規のチャットメッセージ (0x15) ... 特定ユーザに送信
チャット用の通信は TCP/IP を用いることにし、パケットの基本構成は以下のようにする。
- パケット長(1byte)
- パケット種別(1byte)
- データ(0-251 byte)
- チェックサム(1byte)
- エンドタグ(1byte)
サーバは、接続ユーザ数が 0 になったら終了する。 また、メタサーバに接続する設定でサーバが起動されている場合の処理として、
- 人数に変更があったら、メタサーバに通知 (起動時、終了時も含まれる)
- 定期的にメタサーバに情報を通知
くらい。