- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.第九讲 并发服务器
互联网程序设计 电子科大计算机学院 从多服务器调用单独的程序 目前方案的缺点:任何小的改变都需要重新编译服务器,并终止服务器的执行 希望做小的修改的时候,不需要重新编译整个服务器,可以使用createprocess方法把各服务的程序同设立连接的主服务器代码分离 主服务器从一组主套接字上等待连接请求; 一旦请求到达,主线程调用createprocess创建新进程,用一个新的程序替代原有代码,由新程序处理所有的客户通信 互联网程序设计 电子科大计算机学院 主套接字 (每种服务一个) 主进程 … 用于单个从进程的连接的套接字 prog1 prog2 从进程 从进程 createprocess() 互联网程序设计 电子科大计算机学院 多服务、多协议设计 超级服务器:指一种多服务、多协议服务器。 服务器为它所提供的每个服务打开一个或两个主套接字(UDP/TCP); 服务器使用select等待任一套接字就绪; 若UDP套接字就绪,服务器调用一个函数,该函数从套接字中读取一个请求并构造响应,返回给客户; 若TCP套接字就绪,服务器调用一个函数,该函数从套接字中读取下一个请求并对其进行处理。 处理时可以采用循环方式,也可以采用并发方式 互联网程序设计 电子科大计算机学院 多服务服务器的例子 初始化数据结构,并为提供的每个服务打开一个套接字; 进入死循环,调用select,以等待各套接字中的某个套接字就绪; 若有请求到达,select就返回,服务器循环扫描可能的套接字描述符,使用FD_ISSET来测试描述符是否就绪 如果发现有描述符就绪,就调用相应的函数来处理这个请求; 互联网程序设计 电子科大计算机学院 多服务服务器的例子 服务器利用数组fd2sv将描述符映射到数组svent中的某个条目。 svent中每个条目都包含service类型的结构,它将套接字描述符映射为服务。 在将描述符映射到svent中的某个条目后,调用相应的处理函数: 对于UDP,服务器直接调用相应的处理函数; 对于TCP,服务器通过doTCP函数间接调用相应的处理函数。 struct service { char *sv_name; char sv_useTCP; int sv_sock; int (*sv_func) (int); } 互联网程序设计 电子科大计算机学院 静态的和动态的服务器配置 超级服务器通常是可配置的,即不必重新编译源代码就可以改变服务器所能处理的各种服务。 配置可分为:静态的(static)和动态的(dynamic) 静态配置:配置信息放置在一个服务器启动时可以读取的文件中。 配置文件指明服务器可以处理的一组服务以及每个服务所使用的某个可执行的程序。 若要改变需处理的服务,只需要改变配置文件并重新启动服务器。 互联网程序设计 电子科大计算机学院 动态服务器的配置 动态配置的服务器:不必重新启动就可以重新定义它所提供的服务 可动态重配置的超级服务器是灵活的,这是因为不必重新编译服务器程序或重新启动服务器就可以改变服务器所提供的服务。 互联网程序设计 电子科大计算机学院 UNIX超级服务器,inetd 互联网程序设计 电子科大计算机学院 Inetd服务器的例子 互联网程序设计 电子科大计算机学院 服务器的几种变形清单 类型 描述 循环式 (不常见) 单服务、多协议 多服务、多协议 单执行线程并发式 (常见) 单服务、多协议 多服务、单协议 多服务、多协议 多进程或线程并发式 典型的多服务、单协议 独立执行程序并发式 超级服务器(往往是多服务、多协议和配置文件) * * * * * * * * * * * * * * * * * 电子科大计算机学院 《互联网程序设计》 第九讲 并发服务器 电子科技大学计算机学院 互联网程序设计 电子科大计算机学院 并发服务器概述 并发的面向连接的服务器 采用算法8.4的最常用的服务器设计 主服务器进程在机器启动的时候自动一直运行,对每个客户的新连接创建一个新的从线程/进程进行处理 多线程设计的并发服务器 单线程的并发服务器 互联网程序设计 电子科大计算机学院 并发ECHO 功能:客户打开到某个服务器的连接,然后再该连接上重复发送数据,并读取从服务器返回的回显,服务器响应每个客户,接受连接,读取来自该客户的数据,并原样返回给客户。 服务器在发送响应前并非读取全部输入,只是交替读写 服务器在遇到文件结束的条件后,关闭连接 互联网程序设计 电子科大计算机学院 循环与并发实现的比较 如果使用循环服务器实现 某些客户可能发送大量的数据,导致其他的客户延迟 使用并发服务器实现 避免了长时间的延迟,不允许单个客户占用所有的资源 使服务器与许多客户同时进行通信 客户感觉服务器提供了较短的响应时间 互联网程序设计 电子科大计算机学
您可能关注的文档
- AIX巡检常用命令.doc
- LUN ZONE 概念.doc
- 必威体育精装版主板故障及解决方法.doc
- 存储综合技术介绍.ppt
- 04 SCSI基础.ppt
- StorNext FS安装指南.doc
- 计算机应用基础PPT2.ppt
- Adobe+Audition+3.0易出现的问题及解决方案.doc
- 电子工艺课程(收音机).doc
- 电机及电子工艺实习报告.doc
- 第九章 销售与收款循环审计 .pdf
- 1.9《体积单位间的进率》说课(课件)-2024-2025学年六年级上册数学苏教版.pptx
- 长方体和正方体的体积计算(课件)-2023-2024学年人教版五年级数学下册.pptx
- 第二次月考素养提升卷(5~6单元)(试题)-2024-2025学年五年级数学上册人教版.docx
- 4.表内乘法(一)(乘加、乘减)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 表内乘法(7的乘法口诀)(课件)-2024-2025学年二年级上册数学人教版.pptx
- 吨的认识(课件)-2024-2025学年三年级上册数学人教版.pptx
- 期中检测卷(试题)-2024-2025学年五年级上册语文统编版.docx
- 第七单元《扇形统计图》思维拓展练习(课件)-2024-2025学年六年级上册数学人教版.pptx
- 本文中来自ASME BPE标准委员会的现任委员将一一为您答疑解惑 .pdf
文档评论(0)