计算机网络编程 第八讲 循环服务器.ppt

计算机网络编程 第八讲 循环服务器.ppt

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

?计算机网络编程?;循环效劳器概述

循环的无连接的效劳器:Time效劳器实例

循环的面向连接的效劳器:Daytime效劳器实例;循环效劳器的类型

循环无连接效劳器

使用无连接的循环效劳器,采用算法8.2

TIME效劳的例子

循环面向连接的效劳器

循环的面向连接的效劳器,采用算法8.1

DAYTIME效劳的例子

特点:

每次处理时间都很少

效劳器实现简单;创立一个过程隐藏创立一个被动套接字的细节

passiveUDP:本章学习,使用无连接的被动套接字

passiveTCP:使用面向连接的被动套接字

获得熟知的端口号,端口号的唯一性问题。

使用什么协议

绑定IP地址

使用全局变量portbase的优点

平安性:不修改程序中引用端口的地方导致少发生错误

通用性:允许测试的时候,多个效劳器版本共存运行,portbase的值不一样,测试版本的端口不会冲突;passiveUDP

调用passivesock实现

passiveTCP

调用passivesock实现

passivesock

三个参数

第一个效劳名,第二个协议名,第三个参数指明连接请求队列所需要的长度〔只用于TCP套接字〕

使用INADDR_ANY代替特定的本地IP地址

getservbyname,getprotobyname,strcmp,memset,socket,bind,listen…

分析passivesock.c;循环的无连接的效劳器进程结构

只需要一个执行线程;客户使用TIME效劳从另一个系统得到当前时间〔前面已经讨论过〕

TIME效劳几乎不需要什么计算····························

UDPtimed.cpage91

头文件include

宏定义,变量定义,函数声明

main函数

参数分析

调用passiveUDP

recvfrom,sendto循环;使用这个效劳器的原因

简单效劳

效劳器为每个请求的计算很少

循环效劳器是个简单的效劳器

建立被动的套接字的过程

TIME效劳

获得系统时间效劳

使用UDP访问

编程方法;分配被动的TCP套接字

调用passiveTCP实现

带有两个参数

第一个是字符串:效劳的名字或者端口号

第二个:传入连接的请求队列所需的长度;DAYTIME效劳:从另外机器上获得当前的日期和时间〔前面第7章已经谈过〕

DAYTIME效劳器不需要优化速率

获取和格式化日期要求很少的处理

用户对此效劳的需求很少

循环实现就足够了

效劳器忙的时候,其他的请求可以排队;使用一个单执行线程

使用两个套接字

一个套接字处理请求

另外一个套接字处理和客户的通信〔临时的〕;TCPdaytimed.cpage96

passiveTCP隐藏了很多套接字分配和绑定的细节

QLEN:客户连接请求等待队列长度

在循环中,使用accept从主套接字得到一个连接〔accept完成三次握手过程〕

对于新的连接效劳器调用过程TCPdaytimed进行处理

处理完毕继续循环,再次调用accept阻塞;调用TCPdaytimed返回后,主程序关闭该连接的套接字

调用close是沉着关闭:TCP保证所有的数据可靠交付给客户〔连接终止前收到确认〕

close不能立刻返回,调用将会阻塞,直到收到客户确实认;连接终止问题

DAYTIME效劳器知道何时应该终止连接

复杂客户效劳器系统的应用,必须了解客户什么时候是最后一个请求,客户必须发送一个完成的信号

允许客户控制连接时间有危险

误操作的客户可能导致效劳器消耗掉套接字和TCP连接相关的资源

客户快速的重复的发出请求,可以把效劳器的资源用光;循环的面向连接的效劳器每处理一个连接循环一次

连接到达以前在accept阻塞

建立新的连接以后创立新套接字处理

处理完毕,关闭,返回accept阻塞

DAYTIME效劳

不需要客户的请求信息,检测到连接就响应

发送完响应,效劳器主动关闭连接

每个连接只发送一个响应

文档评论(0)

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

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

1亿VIP精品文档

相关文档