日本华人论坛 紧急求救。C语言作业。TCP/IP通信型クイズ出題ク



日本 - 朋友们你们好。我是来寻求帮助的。老师出了C语言的一道通信题,我实在不会做。
其实题挺有意思的。可惜我没悟出它的解法。
希望高手们可以抽空帮我看一下,小妹在三感谢。以下是日语解释。

課題
􀂄 次の要件と次ページ以降の通信規定を満たすTCP/IP通信型クイズ出題クライアントプログラムを作成せよ
􀂋サーバ(作成不要)
􀁺 認証されたユーザに対しクイズを出題,5問正解したら秘密のメッセージを送信する
􀁺 すべての状態において,クライアントからの要求に対して受動的に動作を行う
􀂋クライアント
􀁺 クイズサーバに対応したユーザインタフェースを実現する

通信規定(1/7)
􀂄 状態の規程
􀂋サーバには以下の状態が存在
􀁺 ユーザ名を受け付ける状態(状態1)
􀁺 パスワードを受け付ける状態(状態2)
􀁺 クイズ出題を受け付ける状態(状態3)
􀁺 解答を受け付ける状態(状態4)
􀁺 秘密のメッセージの送信を受け付ける状態(状態5)
􀂄 クライアントでは,サーバがどの状態にあるかを判断して,必要なデータ送信を実施すること

通信規定(2/7)
􀂄 ユーザ名受付状態(状態1)
􀂋 ユーザ名として,自分の学籍番号(CD付)を使用すること
􀂋 例: p010123(アルファベットは小文字)
􀂋 ユーザ名の送信には,「USER <ユーザ名>」の形式を使用すること
􀂋 正しいユーザ名が入力された場合には,文字列“OK”を返し,パスワード受付状態(状態2)に遷移すること
􀂋 誤ったユーザ名が入力された場合には,文字列“NG”を返し,状態を遷移しないこと
􀂋 「USER」以外のコマンドが入力された場合には,文字列“ERROR”を返し,状態を遷移しないこと

通信規定(3/7)
􀂄 パスワード受付状態(状態2)
􀂋 パスワードとして,自分の学籍番号(CD付)を反対から書いた文字列を使用すること
􀂋 例: 321010p
􀂋 パスワードの送信には,「PASS <パスワード>」の形式を使用すること
􀂋 正しいパスワードが入力された場合には,文字列“OK”を返し,クイズ出題受付状態(状態3)に遷移すること
􀂋 誤ったパスワードが入力された場合には,文字列“NG”を返し,ユーザ名受付状態(状態1)に遷移すること
􀂋 「PASS」以外のコマンドが入力された場合には,文字列“ERROR”を返し,状態を遷移しないこと

通信規定(4/7)
􀂄 クイズ出題受付状態(状態3)
􀂋 クイズの正解数はサーバ・クライアント双方で保持しておくこと
􀂋 クイズの出題要求には,「QUIZ <現在の正解数>」の形式を使用すること(すなわち,正解数はクライアントでも保持しておく必要がある)
􀂋 正しい正解数が入力された場合には,クイズを出題(すなわち,クイズの文章を送信)し,解答受付状態(状態4)に遷移すること
􀂋 誤った正解数が入力された場合には,文字列“NG”を返し,状態を遷移しないこと
􀂋 「QUIZ」以外のコマンドが入力された場合には,文字列“ERROR”を返し,状態を遷移しないこと

通信規定(5/7)
􀂄 解答受付状態(状態4)
􀂋 解答の送信には,「ANSR <答え>」の形式を使用すること
􀂋 正しい解答が入力された場合には,文字列“OK”を返し,正解数を1増加させること
􀂋 間違えた解答が入力された場合には,文字列“NG”を返すこと
􀂋 正解数が5になった場合には,秘密メッセージ受付状態(状態5)に遷移すること.それ以外の場合にはクイズ出題受付状態(状態3)に遷移すること
􀂋 「ANSR」以外のコマンドが入力された場合には,文字列“ERROR”を返し,状態を遷移しないこと

通信規定(6/7)
􀂄 秘密メッセージ受付状態(状態5)
􀂋 秘密のメッセージは「GET MESSAGE」にて要求すること
􀂋 正しいコマンドが送られてきた場合には,秘密のメッセージ文章を返し,状態を遷移しないこと.
􀂋 引数部に誤りがある場合(すなわち「MESSAGE」以外の文字列を受信した場合)には,文字列“NG”を返し,状態を遷移しないこと
􀂋 「GET」以外のコマンドが入力された場合には,文字列“ERROR”を返し,状態を遷移しないこと

通信規定(7/7)
􀂄 終了メッセージ
􀂋 サーバは「QUIT」を受信すると“GOOD BYE”を返し,どの状態にいても接続を切断すること
􀂋 クライアントは「GOOD BYE」を受信すると,プログラムを終了する(とよい)
クライアントの条件
􀂄 クライアントでは通信規定に基づき的確なユーザインタフェースを実現すること
􀂋 「ユーザ名を入力して下さい→」の表示
􀂋 サーバからのメッセージを受信したときには,それをそのまま表示するのではなく適当な文章に変換して表示
􀂋 NG → 「パスワードが違います」など
􀂄 必要な状態を記憶しておくこと
􀂋 クイズ正解数は利用者が覚えておくのではなく,クライアントソフトで自動的に記憶可能である
􀂋 クライアントによる支援クイズサーバ簡易版とクライアントを提供します.

圧縮にはzipを利用し,sample_oli_utf8.zipとしてあります.
Linux環境で解凍するには,以下のコマンドを実行します.
unzip sample_oli_utf8.zip
これにより,実行ファイル「quiz_server」と「client」が取り出せます.
インタフェースは組み込まれていません.
(なお,同名ファイルがあれば上書きされる恐れがあります.注意して下さい.)
このままでは実行許可がありませんので,次のコマンドにてパーミッションを変更して下さい.
chmod u+x quiz_server
chmod u+x client

● 実行環境
クイズサーバプログラム「quiz_server」は,Linux環境でコンパイルされた実行型ファイルです.
Linux上でのみ動作します.漢字コードは,UTF-8です.

● 実行方法
ポート番号は起動時に指定するようにしてあります.実行する場合には,
./quiz_server 12345
のように,第1引数にポート番号を指定して下さい.起動後は,第2回課題で指定したプロトコルにしたがって動作します.

クライアントのほうは,
./client 127.0.0.1 12345
のように,第1引数にIPアドレス,第2引数にポート番号を指定して下さい.なお,サーバと同じマシンでクライアントを起動する場合には,IPアドレスを127.0.0.1(ローカルアドレス)とすれば動作します.

● アカウント
ユーザ名とパスワードには,以下の4種類が登録されています.
ユーザ名 パスワード
test1  1tset
test2  2tset
test3  3tset
test4  4tset

● クイズ出題
プログラムを簡略化するため,15問のみ用意してあります.
● 秘密のメッセージ
ユーザ名 メッセージ
test1  secret_message1
test2  secret_message2
test3  secret_message3
test4  secret_message4

提供sample_oli_utf8.zip sample_oli_utf8.zip (12.05 KB, 下载次数: 0) 2010-4-18 18:00 上传 点击文件名下载附件
下载积分: 元气 1 点
,里面有可以执行的server ,client , 还有需要改变的client.c

上面说的挺麻烦,其实依我理解,要做的client.c需要做的改变是,
没改之前,需输入USER test1,改后,就变成提问的形式,ユーザ名を入力して下さい→test1
没改之前,需输入PASS 1tset,改后,就变成提问的形式,パスワードは?→1tset
等。。

上面说的有点乱,小妹QQ:75748086。。随时恭候您的疑问和指导。。
由于作业很重要,哪怕是一点点思想也好。
拜托传授。麻烦烦您了。再次致以最崇高的谢意。。。

评论
太长了,估计没人有那么多时间帮你了,MM。同情下!
日本 Japan
 ·日本中文新闻 日本26年新成人预估仅109万 与去年并列历史第二低
·日本中文新闻 日本皇居新年参贺突发裸奔事件 男子涉公然猥亵被捕
·日本中文新闻 印度宣布超越日本成为全球第四大经济体
·日本留学生活 在熟悉的城市,遇見不一樣的感受
·日本留学生活 求购一些水电燃气话费等公共料金请求书
·日本华人网络交流 制造信息垃圾的产业,这种现象在日本尤其普遍。
·日本华人网络交流 美军入侵 委内瑞拉领空 并非零伤亡
·日本华人网络交流 年末采购食品,恰时间就能全半价。
 ·中文新闻 马丁·克鲁内斯 (Martin Clunes) 在新剧中变身休·爱德华兹 (Huw Edw
·中文新闻 当朋友们讲述他们对他们的阴谋感到震惊以及他们如何向他们隐

日语考试

旅行管理

华人网出套资格考试用书,课本4本,习题6本,CD课时9张,16小时左右。7千出。位置东京,上板桥车站附近,东武东上线上,池袋,山手线上交易。微信qzq20198 评论 1111111 ...

日语考试

募集一起备考FP考试

华人网情况介绍‘ 本人打算明年1月先考3级 之后考2级想找小伙伴一起学习。 我滴情况是,社会人30代前半,人品端正热爱学习和户外运动 想持续保持学习和进步。 坐标最好是东京靠埼玉, ...

日语考试

行政书士资格考试

华人网今年十一月份打算考行政书士资格,有没有一起考试的小伙伴,可以加我微信,大家一起分享学习经验。同时更加欢迎考过的前辈给予指导!万分感谢! ...

日语考试

1v1辅导研究计划书(情报,通信专业)

华人网教育背景:985计算机+早大情报 辅导经历:曾在东京知名的理工孰任教,教授课程包括《高等数学》,《线性代数》,《形式语言》,《数理统计》,曾1v1辅导过多名学生的研究计划书。 ...

日语考试

找个小伙伴一起学习java

华人网准备明年入职,有资料可以共享给你,我是基本0开始的所以想互相监督,约定线上固定时间,守时素质高的,日语太差的别了,一起学习 评论 留下你的V我加你。举个例子,约定好每周 ...

日语考试

求书 ソーシャルワーク基盤と専門職

华人网求书 ソーシャルワーク基盤と専門職 评论 这本书应该是日本学校的教材,而且好像是较新版本,LZ是不是觉得这里比去书店找能更快找到? 评论 学校要用的书想便宜点买个二手的 ...