簡単なサーバ=クライアントと通信プロトコル
概要
簡単なサーバ=クライアントと通信プロトコルを設計し、
それにしたがって動作するプログラムを作成する。
方法
- 準備
- 原則として2人組で行う。奇数ならば3人とする。
- ワークステーション2台を接続する。
1台がサーバとなり、もう1台はクライアントとなる。
- サーバの機能を設計
簡単なサーバ機能を設計する。
クライアントからの要求に応じて動作が変わるものであること。
- 通信プロトコルを設計
クライアントから要求を送るための書式、
サーバが回答する方式などを設計する。
クライアントが不完全な要求を送った場合も考慮して設計すること。
- プログラムの作成
サーバとクライアントのプログラムを作成する。
各自が必ず何らかのプログラムを書くこと。
2人の場合は、サーバとクライアントに分かれる。
- 実行してみる

機器の接続とデータの流れ
例
- サーバ名: 電卓サーバ
- サーバの機能: 足し算と掛け算
- プロトコル:
Sはサーバ、Cはクライアント。
[S→C]はサーバからクライアントへのメッセージを示す。
- [S→C] Welcome!
- [C→S] COMMAND
COMMANDはADD, MULT, QUITのいずれか。
QUITならば9へ。
そのいずれでもなければ6へ。
- [S→C] DATA?
- [C→S] XXX YYY
XXXとYYYは整数。
データの個数が2でなければ7へ。
XXXとYYYが整数でなければ8へ。
- [S→C] RESULT ZZZ
計算結果を返す。
ADDならばXXX+YYY。
MULTならばXXX×YYY。
1へ戻る。
- [S→C] UNKNOWN COMMAND
エラーメッセージを表示して、1へ戻る。
- [S→C] TWO DATA REQUIRED!
エラーメッセージを表示して、3へ戻る。
- [S→C] INTEGER REQUIRED!
エラーメッセージを表示して、3へ戻る。
- [S→C] Bye!
終了。
(作成: 2001年11月4日, 最終更新: 2001年11月5日)