当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]写一个 Server 与 Client 程序, 可以使两个或两个以上的使用者以 Client 程序连上 Serv
帖子发表于 : 2008-01-19 10:01 

注册: 2007-12-27 13:49
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
《互联网技术及应用》课程设计说明
课内学时: 2 周
1、课程设计目的
通过本课程的教学,深化学生对计算机网络和互联网技术的理解,提高学生进行网络设计与开发的技能。同时,为后续的相关课程打下坚实的基础。
2、课程设计内容
见后。
3、课程设计结果提交
1纸质报告。提交实习报告一份。实习报告中应至少包括以下内容:课题内容,设计方案及其优缺点,程序框架,设计难点和重点分析,程序运行截图,设计体会。
2 实习报告电子档和源程序。以指定文件名上载到实习机房服务器。最终由老师刻盘存档。
4、成绩评定
根据平时成绩和最终报告验收,给予优、良、中、及格或不及格;或者给予通过或者不通过。
5、参考书
1.W.Richard Stevens编著,《UNIX Network Programming (UNIX网络编程 卷一 第二版)》,清华大学出版社,1999年10月
2.谭献海等编著,《网络编程技术及应用》,清华大学出版社,2006年12月
3.罗军舟等等编著,《TCPIP协议及网络编程技术》,清华大学出版社,2005年8月
附件一:课程设计内容题目一
网络程序设计
本课程期末专题要求你分别写一个 Server 与 Client 程序, 可以使两个或两个以上的使用者以 Client 程序连上 Server,并通过 Server 进行网络游戏。这些游戏包括了
奕棋类:井字棋、象棋,跳棋、五子棋,黑白棋,西洋棋,围棋,麻将等。
牌戏类:桥牌、廿一点、朴克、捡红点、拱猪等。
数字或数学游戏:猜数字、终极密码等。
机率游戏:比大小、猜拳等。
纯通讯:文字对谈,实时讯息广播等。
游戏或文字对谈进行模式可分为回合制与非回合制的。在回合制的游戏进行模式中,参与游戏的玩家依照一定的次序轮流下子、 出牌,行动,或说话。在非回合制的游戏中,游戏参与者不必等待对方,可以在任何时间行动。 无论是何种游戏,皆应由 Server 与 Client 程序合作控制使用者在游戏中的行为。以下提出几点设计上的建议。
Server
在 Server 的设计方面,当第一个 Client 连上 Server 时, Server 应响应让此 Client 的使用者知道他是第一个加入的玩家 (此角色依游戏种类不同可能是 Player 1, Player A, O 方, 白子, 庄家等),并让 Client 等待其它玩家的加入。当第二个 Client 连上 Server 时,则让此 Client 的使用者知道他是第二个加入的玩家。 如果是两人玩的游戏,则此时可以告知双方游戏开始,并初始化游戏 (洗牌并发牌, 将棋子放至定位, 或产生随机数数字等)。如果是两个人以上的游戏,则继续等待其它使用者的加入。
游戏开始后,依据游戏类别的不同,Server 可能会扮演下列角色:
棋盘或牌桌。Server 应纪录游戏目前的进行状态(目前棋局状态,发牌出牌纪录,目前行动玩家等)。
庄家。有些牌戏类游戏应由 Server 洗牌及分牌给玩家。
裁判。有些游戏(尤其是奕棋类)应由 Server 判定游戏胜负。
对话控制(Dialog Control)。如果是回合制的游戏,应该让 Server 送特别讯息告知 Client 现在轮到此使用者在游戏中行动(下子、出牌、出拳、猜数字)。 如果 Server 尚未告知 Client,Server 就应该忽略此 Client 送过来的玩家的游戏行动。 如果是非回合制的游戏,则任何时候都可以让使用者行动。
游戏参与者的居间联络者。把游戏玩家的行动或目前的游戏状态告知其它玩家。
侦测并处理玩家不正常的离线动作。
Client
Client 的角色是:
读取使用者的游戏行动或选项,然后进行初步的检查, 确认是合法的行动(没有违反游戏规则)后,再送到 Server。 例如,在牌戏中,玩家不可以打出他所没有的牌。在棋赛中,玩家移动或放置棋子须符合 游戏规则。在回合制游戏中,如果 Server 尚未告知 Client, Client 就不允许让使用者进行任何游戏中的行动。
从 Server 接收游戏的状态或其它玩家的行动,并显示给玩家看。
侦测并处理与 Server 联机不正常中断的情形。
其它
可用 TCP 或 UCP 来设计。如果用 TCP 的话,不能用 Concurrent server model, 因你不知道如何让 child process 与 parent process 进行沟通。
就算是回合制的游戏,也应该能够让使用者在未轮到游戏行动时,对 Server 送出特别的指令, 例如退出游戏或认输等。
玩家的行动是否违反游戏规则可能在 Client 端即可检查出来,但有些游戏规则要在 Server 端 才能进行检查。你可能要想清楚在游戏规则的强制执行上 Server 和 Client 要如何分工。
你可以让玩家在游戏中使用自取的昵称来进行游戏。


小弟刚学习linux 不知如何编写 不知那位哥哥姐姐能帮我写一下 这是我的课程设计 我急着回家阿 在此谢过各位了~~~


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译