認証サーバーとチャットサー バーの構築(1) 環境構築とフロー構想・パケット定義 サーバーマシン組立 サーバーにするマシンを組み立てた。 ■マシン概要 OS CPU Mem Solaris 8x86 Pen4 3.0G 1.0G ■開発環境 コンパイラ データベース デバッカ gcc 2.95 MySQL 3.23.58 Gdb,truss ■ネットワーク 光回線(フレッツ) 100Mbps パケットの定義 長さ (2バイト) ヘッダ (1バイト) データ エンドマーカー (2バイト) ・認証、チャットサーバーなのでできるだけ簡素なパケット構造にする。 ・パケットの種類をヘッダ部分、主なデータはデータ部分に格納する。 ・長さとエンドマーカーはエラーチェック用。 パケットプロトコル設計 認証パケット フロー 項目 C→S パケットの長さ 長さ 型 2 Short 1 Char ユーザーIDの長さ 1 Char ユーザーID文字列の長さ ユーザID ? String サイズは動的に変動 パスワードの長さ 1 Char パスワード文字列の長さ パスワード ? String サイズは動的に変動 2 Short 2 Short 1 Char アクセス人数 1 Char ユーザーIDの長さ 1 Char ユーザーID ? String ユーザー番号 2 Short 2 short ヘッダ エンドマーカー S→C 値 RK_USER_AUTH 0xC8D1 パケットの長さ ヘッダ エンドマーカー PK_USER_AUTH 0xC8D1 その他 サイズは動的に変動 チャットパケット フロー 項目 C→S パケットの長さ 長さ 型 2 Short 1 Char チャットメッセージの長さ 2 Short チャットメッセージ ? String 2 Short 2 Short 1 Char ユーザIDの長さ 1 Char ユーザID ? String チャットメッセージの長さ 2 Short チャットメッセージ ? String 2 short ヘッダ エンドマーカー S→C 値 PK_USER_CHAT 0xC8D1 パケットの長さ ヘッダ エンドマーカー PK_USER_CHAT 0xC8D1 その他 サイズ動的 サイズ動的 認証パケット例 定義 長さ ヘッダ ID長さ ID PASS長さ PASS EDM 開始番地 0 2 3 4 10 11 15 値 17 0 6 midori 4 1234 0xC8D1 長さ 2 1 1 6 1 4 2 現在、サーバーとクライアントのプログラムが、 まだ未完成。 サーバー側のメモリ消費がひどいので修正す る。(おそらくパディング? 同期に使っているポインターのセクタオブジェ クトの再構築が必要。
© Copyright 2025 ExpyDoc