第八讲循环服务器_第1页
第八讲循环服务器_第2页
第八讲循环服务器_第3页
第八讲循环服务器_第4页
第八讲循环服务器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

《计算机网络编程》第八讲循环服务器电子科技大学计算机学院循环服务器概述循环的无连接的服务器:Time服务器实例循环的面向连接的服务器:Daytime服务器实例目录计算机网络编程电子科大计算机学院循环服务器的类型循环无连接服务器使用无连接的循环服务器,采用算法8.2TIME服务的例子循环面向连接的服务器循环的面向连接的服务器,采用算法8.1DAYTIME服务的例子特点:每次处理时间都很少服务器实现简单计算机网络编程电子科大计算机学院1.循环服务器概述创建一个过程隐藏创建一个被动套接字的细节passiveUDP:本章学习,使用无连接的被动套接字passiveTCP:使用面向连接的被动套接字获得熟知的端口号,端口号的唯一性问题。使用什么协议绑定IP地址使用全局变量portbase的优点安全性:不修改程序中引用端口的地方导致少发生错误通用性:允许测试的时候,多个服务器版本共存运行,portbase的值不一样,测试版本的端口不会冲突计算机网络编程电子科大计算机学院创建被动的套接字passiveUDP调用passivesock实现passiveTCP调用passivesock实现passivesock三个参数第一个服务名,第二个协议名,第三个参数指明连接请求队列所需要的长度(只用于TCP套接字)使用INADDR_ANY代替特定的本地IP地址getservbyname,getprotobyname,strcmp,memset,socket,bind,listen…分析passivesock.c计算机网络编程电子科大计算机学院创建被动的套接字循环的无连接的服务器进程结构只需要一个执行线程计算机网络编程电子科大计算机学院2.循环无连接服务器(算法8.2)用于所有通信的熟知套接字端口服务器操作系统服务器应用进程客户使用TIME服务从另一个系统得到当前时间(前面已经讨论过)TIME服务几乎不需要什么计算UDPtimed.cpage91头文件include宏定义,变量定义,函数声明main函数参数分析调用passiveUDPrecvfrom,sendto循环计算机网络编程电子科大计算机学院TIME服务器举例(注意与算法8.2对应)使用这个服务器的原因简单服务服务器为每个请求的计算很少循环服务器是个简单的服务器建立被动的套接字的过程TIME服务获得系统时间服务使用UDP访问编程方法计算机网络编程电子科大计算机学院循环无连接服务器小结分配被动的TCP套接字调用passiveTCP实现带有两个参数第一个是字符串:服务的名字或者端口号第二个:传入连接的请求队列所需的长度计算机网络编程电子科大计算机学院3.循环的面向连接的服务器(算法8.1)DAYTIME服务:从另外机器上获得当前的日期和时间(前面第7章已经谈过)DAYTIME服务器不需要优化速率获取和格式化日期要求很少的处理用户对此服务的需求很少循环实现就足够了服务器忙的时候,其他的请求可以排队计算机网络编程电子科大计算机学院用于DAYTIME服务的服务器使用一个单执行线程使用两个套接字一个套接字处理请求另外一个套接字处理和客户的通信(临时的)计算机网络编程电子科大计算机学院进程的结构用于连接请求的套接字服务器操作系统服务器应用进程用于单个连接的套接字TCPdaytimed.cpage96passiveTCP隐藏了很多套接字分配和绑定的细节QLEN:客户连接请求等待队列长度在循环中,使用accept从主套接字得到一个连接(accept完成三次握手过程)对于新的连接服务器调用过程TCPdaytimed进行处理处理完毕继续循环,再次调用accept阻塞计算机网络编程电子科大计算机学院DAYTIME服务器例子调用TCPdaytimed返回后,主程序关闭该连接的套接字调用close是从容关闭:TCP保证所有的数据可靠交付给客户(连接终止前收到确认)close不能立刻返回,调用将会阻塞,直到收到客户的确认计算机网络编程电子科大计算机学院关闭连接连接终止问题DAYTIME服务器知道何时应该终止连接复杂客户服务器系统的应用,必须了解客户什么时候是最后一个请求,客户必须发送一个完成的信号允许客户控制连接时间有危险误操作的客户可能导致服务器消耗掉套接字和TCP连接相关的资源客户快速的重复的发出请求,可以把服务器的资源用光计算机网络编程电子科大计算机学院连接终止和服务器的脆弱性循环的面向连接的服务器每处理一个连接循环一次连接达到以前在accept阻塞建立新的连接以后创建新套接字处理处理完毕,关闭,返回accept阻塞DAYTIME服务不需要客户的请求信息,检测到连接就响应发送完响应,服务器主动关闭连接每个连接只发送一

温馨提示

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

评论

0/150

提交评论