如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
院(系):专业班级:姓名:学号:组员:日期:成绩:一、课程设计目标通过C#网络编程的课程设计,能够增强我们对C#网络编程的认识,更加牢固的掌握网络编程的相关知识。综合运用学习到的理论知识,提高实践能力。通过小组讨论形式对任务进行分解,提出实现方案,制定计划,小组成员分工协作,共同完成课程设计题目,培养团队合作能力。课程设计期间,通过对问题的分析查找资料,培养资料查询以及运用现代信息技术获取相关信息并进行归纳总结的基本能力。与同学讨论,互相学习,提升个人学习能力。二、课程设计内容1课程设计的内容参考《C#网络应用编程实验指导与开发实例》,编写一个网络对战五子棋游戏,简单的实现网络对战五子棋游戏的基本功能。1.2由于和小组成员分工合作,本人负责客户端方面代码。因此,本课程设计报告主要涉及服务器端的内容。并且把重点放在了线程管理,服务器如何管理多个玩家,服务器和客户端如何进行通信等等。2原理介绍(服务器与客户端通信描述)网络编程的关键是服务器和客户端如何通信,当服务器和客户端建立连接后,服务器或客户端当接收到对方发送过来的信息后,要对接收的信息做出反应。为了让通信双方都能理解对方发送过来的信息含义,必须事先规定每条信息的格式以及信息的含义,在本例中,规定任何一条信息,都必须以命令开头,命令后面跟上需要的参数。命令和参数以及各参数之间均用逗号分隔。这样接收方接收到信息后,才能理解,并且根据参数可作出相应的反应。3开发环境及技术介绍3.1开发环境:MicrosoftVisualStudio2008MicrosoftVisualStudio2008是面向WindowsVista、Office2007、Web2.0的下一代开发工具,代号“Orcas”,是对VisualStudio2005一次及时、全面的升级。VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用VisualStudio2008可以高效开发Windows应用。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时VisualStudio2008支持项目模板、调试器和部署程序。VisualStudio2008可以高效开发Web应用,集成了AJAX1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。3.2引用命名空间以及相关类命名空间:除了一些基本的,本例中还引用了一些其他的命名空间,如下:命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。命名空间为需要严密控制网络访问的开发人员提供了WindowsSockets(Winsock)接口的托管实现。、和类封装有关创建到Internet的TCP和UDP连接的详细信息。用于多线程编程,对线程进行管理,如创建线程、启动线程、终止线程、合并线程等等。该命名空间为Internet网络上使用的多种协议提供了方便的编程接口,利用这个命名空间提供的类,不需要考虑所使用协议的具体细节,就能很快实现具体功能。System.Windows.Forms命名空间包含用于创建基于Windows的应用程序的类,以充分利用MicrosoftWindows操作系统中提供的丰富的用户界面功能相关类:类,用特定的编码将基元数据类型读作二进制值。类,以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。类,侦听来自TCP网络客户端的连接。Thread类,创建并控制线程,设置其优先级并获取其状态。IPaddress类,提供网际协议(IP)地址。IPEndPoint类,将网络端点表示为IP地址和端口号。界面设计:使用的控件:(1)两个button负责启动和终止服务。(2)listBox显示客户状态信息以及服务器与客户端通信的内容。(3)两个textBox控件,分别控制游戏室允许进入的最多人数和游戏室同时开出的房间数。整体界面如图所示4服务器端主要代码介绍运行VS,新建一个名为GobangServer的Windows应用程序项目。4.1添加一个User.cs类,表示所有连接到服务器的客户。代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Net.Sockets;usingSystem.IO;namespaceGobangServer{classUser{publicreadonlyTcpClientclient;publicreadonlyStreamReadersr;publicreadonlyStrea