- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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.c page91 头文件include 宏定义,变量定义,函数声明 main函数 参数分析 调用passiveUDP recvfrom,sendto循环 计算机网络编程 电子科大计算机学院 使用这个服务器的原因 简单服务 服务器为每个请求的计算很少 循环服务器是个简单的服务器 建立被动的套接字的过程 TIME服务 获得系统时间服务 使用UDP访问 编程方法 计算机网络编程 电子科大计算机学院 分配被动的TCP套接字 调用passiveTCP实现 带有两个参数 第一个是字符串:服务的名字或者端口号 第二个:传入连接的请求队列所需的长度 计算机网络编程 电子科大计算机学院 DAYTIME服务:从另外机器上获得当前的日期和时间(前面第7章已经谈过) DAYTIME服务器不需要优化速率 获取和格式化日期要求很少的处理 用户对此服务的需求很少 循环实现就足够了 服务器忙的时候,其他的请求可以排队 计算机网络编程 电子科大计算机学院 使用一个单执行线程 使用两个套接字 一个套接字处理请求 另外一个套接字处理和客户的通信(临时的) 计算机网络编程 电子科大计算机学院 用于连接请求的套接字 服务器 操作系统 服务器应用进程 用于单个连接的套接字 TCPdaytimed.c page96 passiveTCP隐藏了很多套接字分配和绑定的细节 QLEN:客户连接请求等待队列长度 在循环中,使用accept从主套接字得到一个连接(accept完成三次握手过程) 对于新的连接服务器调用过程TCPdaytimed进行处理 处理完毕继续循环,再次调用accept阻塞 计算机网络编程 电子科大计算机学院 调用TCPdaytimed返回后,主程序关闭该连接的套接字 调用close是从容关闭:TCP保证所有的数据可靠交付给客户(连接终止前收到确认) close不能立刻返回,调用将会阻塞,直到收到客户的确认 计算机网络编程 电子科大计算机学院 连接终止问题 DAYTIME服务器知道何时应该终止连接 复杂客户服务器系统的应用,必须了解客户什么时候是最后一个请求,客户必须发送一个完成的信号 允许客户控制连接时间有危险 误操作的客户可能导致服务器消耗掉套接字和TCP连接相关的资源 客户快速的重复的发出请求,可以把服务器的资源用光 计算机网络编程 电子科大计算机学院 循环的面向连接的服务器每处理一个连接循环一次 连接达到以前在accept阻塞 建立新的连接以后创建新套接字处理 处理完毕,关闭,返回accept阻塞 DAYTIME服务 不需要客户的请求信息,检测到连接就响应 发送完响应,
您可能关注的文档
- 第五章线性系统的频域分析法 第3讲.ppt
- 第五章第六章汇总.ppt
- 第五章:交变电流复习课上课用.ppt
- 第五章:透镜及其yu.ppt
- 第五章花卉的繁殖 上部分内容.ppt
- 第五节 药学管理制度.doc
- 第五节 盘点作业管理.ppt
- 第五章:贸易术语和价格核算.ppt
- 第五节 出口退税计算.ppt
- 第五组电镀废水监测方案.pptx
- 2024年矿山行业分析报告:资本开支景气度延续,国内矿山装备企业加速出海.pdf
- 2023年垃圾焚烧发电环保新能源公司发展战略和经营计划.docx
- 2023年核工业建设公司发展战略和经营计划.docx
- 2023年卫星通信企业发展战略和经营计划.docx
- 2023年东方电缆分析报告:行业龙头厚积薄发,海陆并进只待东风.pdf
- 2023年核电公司发展战略和经营计划.docx
- 2023年容知日新分析报告:智者治病于未发,工业上医的α成长.pdf
- 2023年输配电及控制设备企业发展战略和经营计划.docx
- 2023年金新农分析报告:以猪为源,合理推进饲料、养殖业务发展.pdf
- 2023年微电生理分析报告:立足核心技术研发,成就电生理国产领先.pdf
最近下载
- 资本主义的发展历程(萌芽、制度确立、扩展)课件+++2024年湖南省中考二轮专题复习.pptx VIP
- 施耐德电气 SD328B 步进电机驱动器 产品手册.pdf
- J B-T 8975-2006 低压信号灯-机械行业标准规范.pdf VIP
- 医保支付方式改革—DRG与DIP.pptx
- 《10kV电杆结构部分计算书》.doc
- 《艺术学概论》随堂测验1-9答案.docx VIP
- 银行业防火演练方案.docx VIP
- 中医病历模板(腰突5).doc VIP
- Long-Term-Development-in-Sport-and-Physical-Activity-3.0体育运动中的长期发展.pdf
- 2023年陕西投资集团有限公司校园招聘考试笔试题库及答案解析.docx
文档评论(0)