UDP的服务器设计说明书_第1页
UDP的服务器设计说明书_第2页
UDP的服务器设计说明书_第3页
UDP的服务器设计说明书_第4页
UDP的服务器设计说明书_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0 服务器设计说明书 一 课程设计的目的和意义 目的:设计一个基于 服务器 意义: P 协议族为传输层设计的两个协议之一,它在进程与进程的通信过程中,提供了有限的差错校验功能,是一种无连接的,不可靠的协议。 收到分组的时候没有流量控制机制也没有确认机制,适用于可靠性比较高的局域网。由于 取了无连接的方式,因此协议简单,在一些特定的应用中协议运行效率高。 频会议,它们要求源主机以恒定的速率发送数据, 并且在网络出现拥塞时,可以丢失一些数据,但是延迟不能太大。基于这些特点,流式多媒体通信、多播等应用在传输层采用的就是 议。 因为 有 望尘莫及的速度优势。虽然 议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观 于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。 1 二 、 课程设计的内容和要求 编写程序,设计 务器。因为考虑到实时性,所以选择 (1)程序能流畅地完成信息内容的传输和接收。 (2)要能对多个客服端进行管理。需要通过 拟多个客服端连接验证的情况。 (3)操作系统、使用语言和编译环境不限,但在作业中必须注明。 三、课程设计的相关技术 (1)议技术 一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端, 送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端, 每个消息段放在队列中,应用程序每次从队列中 读一个消息段。 (2)C+编程技术 2 (3)P 协议技术 在 T C P / I P 协议族中,有两个互不相同的传输协议: T C P(传输控制协议)和 U D P(用户数据报协议)。 T C P 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面, U D P 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到 另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提 供 。 (4) P 协议与 络编程接口 范不是一种网络协议,而是一套开放的、支持多种协议的 的网络编程接口。 以访问很多种网络协议,可以把它当作一种协议的封装。现在的 经基本上实现了与协议无关,可以使用 调用协议的功能 (5) 使用 下面给出了使用 行编程时涉及的主要函数: 数、 数、 数、 数、 数、 数、 数、 数、数 3 四、课程设计过程 计思路 设计 务器的过程如下所示。首先,创建又一个 后 启动线程接收数据。用一个链表保存所有连上的客户,并通知连接成功。这样,客户就有机会处理这一事件并作一些动作。最后,当客户断开时,向服务器发送一个事件,服务器就可以做一些收尾工作。 其中最关键的部分是收发部分和数据处理部分。 务器的主 要工作流程 如 图 1 所示 : 4 客户机一方的工作流程如下: (1)打开通信信道 (申请一个套接字 ),并连接到服务器在主机的保留端口,该端口对应服务器的 (2)向服务器发出请求报文,等待接收应答。 等待客户请求 处理服务请求 服务请求 服务应答 服务器 客户机 图 1 服务器工作流程 5 (3)从服务器方收到最终应答结果,或在不再请求时关闭信道并终止客户机进程。 服务器一方的工作流程如下: (1)打开通信信道 (申请一个套接字 ),通知本地主机在某一保留端口接收客户机请求。 (2)等待客户机请求到达指定端口。 (3)接收到请求 ,启动一个新进程处理用户请求,同时释放旧进程以响应新的客户请求,一旦服务完成,关闭新进程与客户的通信链路。 (4)继续等待客户机请求。 (5)如果不想响应客户机请求,关闭服务器进程。 要功能模块 如下: (1)发送 ;/锁定 ;/建立结 构体 ;/定义 ;/定义 (&,; /用给定字符填充缓冲区 = ; /长度赋值 ; /创建事件 , / 结构体 1, / 缓冲池参数 & / 接受的字节数 / 标记 & / 结构体 / 函数完成 = 0) ; = /检测是否是因为传输未完成而造成的错误 dn, /给出出错信息 7 / / 如果是 I/( / /等待完成请求或结束事件 / 0000); / /判断是否是接收方发出的信号 / = /关闭一个内核对象 n, /提示发送失败 = (发送失败 n,;/返回 / /查看 I/(!, & 8 & ( 送 失 败n,;/返回 (发送成功 n,();/解除锁定 (2)接收 /清空接收缓冲区 , /建立 个结构体 ),; /用给定的字符串填充缓冲区 ; /返回参数所占的字节数 9 /接受数据 &1, & if(0) /判断传输是否正常完成 != /如果完成 if( /等待结束请求或退出事件 = = , / /判断是否是接收方发出的信号 / = 0) ! 10 & / /接收结束 / (3)数据处理部分 0; 0; if( /判断缓冲区的长度 if( & if( != T & != P) ; is is n); if( ; ,; (!(& n); /如果 为 0,则向 冲区写信息 if( 13 (& .) n); ,; ; 一, 注意有一个缓冲区 要用来保证每次收发的完整性。然后就是 c+异常机制,主要是为了稳定性。 二, 在 处理部分,有很多保护措施。这很重要。 然后从 生一个 下 : # ; ; ; _ ; ; ; 14 _ ; ; 序实现部分 如下 : (1)客户端程序如下: # / 链接到 ;/初始化 ();/初始化 ( /定义结构体的长度 (1000); /监听端口 ; /地址 ); /给套接字赋值 1) /使可以循环输入 15 024=0; /定义缓冲区 n); / 提示输入 %s, /输入 =0) /比较字符串 ,(&= ,(&=(sn, /关闭套接字 ; ,2); /版本 2 的套接字 / 启动0) /加载套接字库 失败则返回 =2|=2) /判断版本 ; /解除绑定并释放空间 16 /如果不是版本 2则退出 (2)服务器端程序如下 # / 链接到 ; (); 000); /监听端口 /本机 ); & 1) 024=0; n); ,(&= sn, /给 ,(17 & 00); ,2); / 启动0) =2|=2) ; 18 序运行结果截图 的测试运行情况 : ( 1) 查询 到 1 查询 ( 2) 将 址为 计算机作为客户端的结果如图 2 19 图 2:客户端发送信息 ( 3) 服务器接受信息的情况 图 3:服务器接受信息的状况 20 界面情况 : 21 五、课程设计小结 我们这组的课题是 务器设计,其主要研究内容在于实现文件的传输及接收。我们首先是了解 定义,即确定 竟是个什么协议,它有些什么性质和特征,它应用于那些方面。经过了解知道了 P 协议族为传输层设计的两个协议之一,它在进程与进程的通信过程中,提供了有限的差错校验功能,是一种无连接的、不可靠的协议。分析后知道了 实就是用来实现网络中文件的传输和接收的协议。知道它的实质后,接下来我们就开始思考具体的 现的程序,该程序分为客户端和服务器端两部分,客户端主要是执行文件或消息的发送,服务器端则主要是接收这些内容。整个程序最重要也是最有难度的部分就是如何把发送和接收两部分联系在一起,经过查阅了一些资料, 22 我们终于攻克了这个难题,这样我们就把程序的功能充分的实现出来了。同时在编写 的服务器和客户端时,要注意安全处理种种联接请求和断开请求。 而且这次的课程设计过程中,我们接触到了全新的编程方法 我们学到了新知识。具体的,通过这次的课程设计,我们掌握了如下的一些新知识: (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论