第五学期实习报告.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五学期实习报告

xxxx学院 xxxxxxxxxxx学院 课程设计报告 专业班级: 学生姓名: 学号(班内序号): 年 月 日 第五学期实习报告 课程设计目的与任务 1.目的: (1)加深对计算机网络的基本概念和原理,以及网络编程接口及Winsock概念、编程原理的理解; (2)提高学生网络应用与编程的能力。学生在七个设计题目中选择一个,并可选择任意开发工具来设计完成,提高其分析与解决问题的能力,为大型网络编程打下坚实基础; (3)通过撰写课程设计报告,锻炼学生的逻辑组织和语言表达能力; (4)培养学生理论运用于实践的综合应用和设计创新能力。 2.任务: (1)设计完成与网络相关题目的基本功能要求; (2)调试运行之后,要求边演示边解释设计的思想、过程及采用的方法。 (3)按一定的规范要求,撰写课程设计报告。 课程设计的基本要求 1.熟练掌握网络的基本概念和原理; 2.掌握网络编程接口及Winsock概念及编程原理; 3.掌握基于TCP/IP的Internet编程技术; 4.掌握各种软件开发工具的使用过程及方法。 课程设计题目: 猜数游戏 一.猜数游戏的要求: (1).软件名:猜数游戏(分服务器和客户端两部分) (2).功能:游戏后台运行一个服务器软件,游戏者通过客户端登录后,服务器随机产生一个1-100之间的随机数供游戏者猜,游戏者从客户端输入一个数值,如果该数比设定的数大,软件提示:“大了”,如果该数比设定的数小,软件提示:“小了”,若相等,返回“猜对了,您共猜了*次”。服务器同时记录并维护一个游戏玩家的TOP10排行榜,供玩家查询。 (3).编程语言及工具:自选(如VB、JAVA、C#、Delphi、VC) (4).服务端:接受客户端的命令请求并提供相应的服务。 (5).客户端:完成游戏人机界面的设计,以命令的方式向服务器请求,并显示相应的提示。主要的命令有: 1.CONNECT IP地址 端口号 指定游戏服务器的IP地址和端口号,连接到服务器。 响应:连接成功/失败。 2.LOGIN 用户名 用户登录,报告服务器玩家的名字。 响应:成功/失败。 3.GUESS 数字 猜数。 响应:大了/小了/对了。 4.LISTTOP10 请求显示TOP10排行榜。 响应:显示TOP10排行榜。 5.EXIT 退出游戏。 二.课程设计原理: 在WIN32平台上的WINSOCK编程都要经过下列步骤:定义变量-获得WINDOCK版本-加载WINSOCK库-初始化-创建套接字-设置套接字选项-关闭套接字-卸载WINSOCK库-释放资源 ?WINSOCK C/S的建立过程: 客户端 1.初始化WSA 1.初始化WSA 2.建立SOCKET 2.建立SOCKET 3.绑定SOCKET 3.连接服务器 4.在指定的端口监听 4.发送和接收数据 5.接受一个连接 5.断开连接 6.发送和接收数据 7.断开连接 三.程序源代码 服务器: #include stdio.h #include winsock2.h #include time.h #pragma comment(lib,ws2_32.lib) #define SERVER_PORT 5208 int answer = 0; struct Sample{ char name [11]; int s; }score[200]; void randanswer() { srand( (unsigned)time( NULL ) ); answer = (rand()%99)+1; } void sorta() { int a,j; for(a=19;a0;a--) { for(j=0;j20;j++) { if(score[j].s score[j+1].s) { int tmpa; char tmpb[11]; tmpa=score[j].s; strcpy(tmpb,score[j].name); score[j].s=score[j+1].s; strcpy(score[j].name,score[j+1].name); score[j+1].s=tmpa; strcpy(score[j+1].name,tmpb); } } } } int main() { for(int t=0;t200;

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档