




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机网络课程设计实验报告[最终定稿] 第一篇:计算机网络课程设计实验报告计算机网络课程设计报告姓名:王齐学号:1105010404班级:计算机四班指导老师:张会福湖南科技大学计算机科学与工程学院2014年02月实验一:一、设计题目网络聊天程序的设计与实现二、实验目的1、加深对计算机网络通信系统工作原理的理解通过编写计算机程序实现、模拟网络的某些功能,使自己理解并掌握计算机网络基本工作原理及过程。2、提高网络编程和应用的能力提高实际编程能力和灵活运用所学知识解决问题的能力。培养调查研究、查阅技术文献、资料、手册及编写技术文档的能力,理论运用于实践的能力。三、课程设计要求1、仔细分析每一个实验的具体内容、步骤和要求,按设计要求完成任务。2、程序设计需要完成的程序流程图、说明文档和源程序清单。3、提交课程设报告(包含课程设计名称、课程设计题目、课程设计内容、课程设计步骤、调试过程、课程设计结果以及结果分析、心得体会)、程序源文件、可执行文件。四、程序原理在计算机通信系统中,有两种通信方式:面向连接的TCP和面向报文的UDP。TCP:传输控制协议。TCP提供可靠交付的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复、并且按序到达。所以服务器和客户端的通讯使用TCP来完成。确保服务器作为“中转站”能够得到、存储、转发正确的客户信息。UDP:用户数据报协议。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。因为客户端之间的通讯(聊天)对数据正确性的要求不是太高,偶尔出错也不会有太大的影响。本课程设计采用TCP方式来实现网络聊天程序。五、课程设计步骤1、TCP网络聊天程序TCP传输控制提供可靠的,有保证的通信质量,是面向连接的通信。因此,在通信之前,通信双方就得采用建立连接。TCP通信采取C/S(客户机/服务器)模式。需要分别编写客户端程序和服务器端程序。1)服务器端程序编写步骤:a)加载套接字库,创建套接字(WSAStartup()/socket());b)绑定套接字到一个IP地址和一个端口上(bind());c)将套接字设置为监听模式等待连接请求(listen());d)请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept());e)用返回的套接字和客户端进行通信(send()/recv());f)返回,等待另一连接请求;g)关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。2)客户端程序编写步骤:a)加载套接字库,创建套接字(WSAStartup()/socket());b)向服务器发出连接请求(connect());c)和服务器端进行通信(send()/recv());d)关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。2、UDP网络聊天程序与TCP不同,UDP在通信时并不要双方建立连接,它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和OICQ就是使用的UDP协议。因此,本设计同样采用UDP连接方式。程序编写步骤:a)加载套接字库,创建套接字(WSAStartup()/socket());b)绑定套接字到一个IP地址和一个端口上(bind());c)发送和接收数据(sendto()/recvfrom());d)关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。六、程序流程图TCP七.实验总结(错误与解决方法)1.必须先初始化WinsockDLL库,否则会显示错误代码:WSASYSNOTREADY网络通信依赖的网络子系统还没有准备好。WSAVERNOTSUPPORTED所需的WindowsSocketsAPI的版本未由特定的WindowsSockets实现提供。2.窗口接收到数据包含“烫烫烫”,解决办法即用memset函数初始化数组:memset(sendBuf,0,sizeof(sendBuf));memset(recvBuf,0,sizeof(recvBuf));3.使用该程序时注意先打开服务器,再打开客户端,否则无法正确连接。4.注意引入ws2_32.lib库文件。实验二:一.题目:PING程序的设计与实现二.实验目的:PING程序是我们使用的比较多的用于测试网络连通性的程序。PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。由计算机网络课程知道,ICMP是基于IP的一个协议,ICMP包通过IP的封装之后传递。三.实验原理:pi

St****36
实名认证
内容提供者


最近下载