当前位置: 首页 > news >正文

无锡网站建设哪家做得比较好网站建设论文大全

无锡网站建设哪家做得比较好,网站建设论文大全,seo基础入门视频教程,做网站都要学什么这里写目录标题 引入场景 多进程并发服务器二级目录二级目录二级目录 多线程并发服务器二级目录二级目录二级目录 多路IO转接服务器设计思路对比引入 select函数简介参数介绍第一个参数第234参数返回值对于第234参数的应用对于最后一个参数总结 附加操作#xff08;附加四个函… 这里写目录标题 引入场景 多进程并发服务器二级目录二级目录二级目录 多线程并发服务器二级目录二级目录二级目录 多路IO转接服务器设计思路对比引入 select函数简介参数介绍第一个参数第234参数返回值对于第234参数的应用对于最后一个参数总结 附加操作附加四个函数select总结select函数模型设计思路(用于服务端) epoll进阶二级目录二级目录二级目录 引入 场景 现在我们有了服务端和客户端上图均以终端代替 我们从客户端连接上服务端可以进行正常的运行但是如果此时第二个客户端也连接上服务端的话第二个客户端是无法正常运行的因为目前我们只能处理单进程一对一的服务提供无法进行多个客户端同时连接所以就有了高并发服务器 多进程并发服务器 二级目录 二级目录 二级目录 多线程并发服务器 二级目录 二级目录 二级目录 多路IO转接服务器 设计思路 对比 首先如上图我们可以看到之前的多进程并发和多线程并发的设计思路是 首先服务端会创建一个监听套接字 listen即lfd之后该套接字会一直处于阻塞监听状态循环调用Accept函数一旦发现有客户端连进来就生成一个用于连接的cfd套接字与客户端建立连接之后lfd再次处于监听一旦有其他客户端就让服务端再创建一个用于连接的cfd套接字去与客户端2连接… 但是如果这样的话服务端的压力会很大服务端会一直处于阻塞监听所以我们就引入了多路IO转接服务器 引入 我们不再使用服务器阻塞监听了假设我们的服务端是老板他会雇一个秘书select由内核实现我们无需实现负责监听客户端首先服务端生成一个lfd监听套接字然后交给selectselect通过lfd来监听客户端一旦有客户端发起连接请求会先经过select之后select接到连接请求之后将连接请求报告给服务端服务端只有接到select的通知才会创建出一个cfd与请求的客户端建立连接而且这时是确定有客户端要来连接所以不用阻塞直接进行创建然后连接即可之后把该cfd交给select来管理。 所以如上图所示的例子的话select有四个监听一个负责监听是否有新的客户端来请求连接其他三个负责监听接收客户端那边发来的信息反馈给服务端服务端再将处理完后的结果给到selectselect再返回给客户端 这样的机制就叫做响应模式客户端来请求服务端才会进行连接学名叫多路IO转接 而不同的秘书有着不同的功能除了select之外还有俩秘书分别是poll和epoll select函数简介 参数介绍 第一个参数 首先在上图左侧是一个文件描述符表我们要知道文件描述符是有编号的他们会收录在文件描述符表中首先0 1 2 是被占用的所以我们自己的文件描述符会从3开始如上图所示例子的话我们最大的文件描述符编号是6但是我们要传入61因为他的内部是一个for循环循环所有的文件描述符而循环条件是所以应该1 第234参数 他们的类型都是文件描述符集合的指针他们都是传入传出参数即可以从参数传出内容至函数外因为他们都是指针 对于第二个参数形参名字是readfds从名字我们也能知道他是负责读事件的实际上他是负责管理select监听哪几个套接字的读事件他是一个文件描述符集合实际上就是套接字集合因为一个文件描述符对应一个套接字如上图r他的集合里是3 5 6那说明他监听3号5号6号套接字的读事件读是站在select的视角来说的也就是select在读取内容即客户端发送内容给select。但是只是监听是否真正发送读事件还是另一回事 如法炮制第3、4个参数分别是站在select的视角来说监听哪些文件描述符的写事件、以及异常事件 返回值 因为第234都是传入传出参数他们的返回值还是一个文件描述符集合返回那些真正执行了对应事件的文件描述符集合因为传入的只是监听集合他们是否真正发生对应的事件并不要求 select函数的返回值是这三个集合返回的文件描述符总数 对于第234参数的应用 他们是文件描述符集合实际上底层是一个位图其中下标分别对应不同编号的文件描述符而他的值只有0、1所以对于传入readfds来说只有3、5、6是1其他都是0而对于传出readfds来说只有5、6是1。 因为底层是位图所以我们肯定会做一些位操作那么位操作也有对应的函数如下图 对于最后一个参数 总结 附加操作附加四个函数 第一个函数将某个文件描述符从集合中剔除 第二个函数判断指定的fd文件描述符是否在集合中 第三个函数将某个文件描述符加入到集合中 第四个函数将集合对应的位图中所有的文件描述符对应的二进制位清0 select总结 对于该图可以看到一般将第二个第三个参数设置为NULL因为那两个不常用之所以write不常用是因为这里是指客户端与select函数之间的交互一般select不会向客户端进行write操作用到了再设置所以可以设置为NULL这也是为什么select被叫做监听内核 而timeout参数设置了监听时长、阻塞监听、非阻塞忙轮询而我们之前介绍说select模型是一种响应式的服务器那是因为对于服务器来说是借助了select实现了响应式而针对于select自己来说只能是那三个模式的一种。所以我们所说的相应式是针对服务器说的而不是select。 select函数模型设计思路(用于服务端) 首先创建一个套接字返回值为lfd用于监听连接 之后绑定地址结构 设置监听上限 然后接下来就要为select函数做准备工作了创建两个监听集合均为fd_set类型之后将allset监听集合清空然后将lfd加入到allset集合中。然后设置一个循环 epoll进阶 二级目录 二级目录 二级目录
http://www.pierceye.com/news/731675/

相关文章:

  • 诸城网站制作wordpress圆角插件汉化
  • 杨家平网站建设小程序开发网站
  • 校园文化建设图片网站浅析图书馆门户网站建设
  • 网站开发与应用案例教程哈尔滨自助建站系统
  • 网站关键词排名seo百度网址链接是多少
  • 电子商务网站的建设收益直播软件的app
  • 遵义在百度做个网站多少钱如何建立企业网站
  • 我想做个网站手机网站建设优势
  • 网站制作毕业设计滁州市建设局网站
  • saas建站和开源建站的区别比较高端的网页
  • 新公司董事长致辞做网站wordpress二次开发手册chm
  • 网站显示建设中大型企业网站制作
  • 长沙自动化网站建设wordpress 自定义栏目 调用
  • 吉大建设工程学院官方网站wordpress 文章图片插件
  • 赤峰中国建设招标网站网页设计素材网站推荐
  • 天津网站建设电焊机wordpress主题jenney
  • 个人网站制作wordpress英文注册查询网站
  • 哪里有免费网站空间申请wordpress重定向插件
  • 福州微网站开发什么样的网站快速盈利
  • 吉首市建设局官方网站一对一直播软件开发定制
  • 网站开发验收单做的网站如何被百度搜到
  • 网站的数据库是什么两学一做网站链接
  • 做窗帘网站济南网络科技公司排名
  • 广东省住房城乡建设部网站哪个网站可以做加工代理的
  • dede网站源码打包下载wordpress登不进后台
  • 建设内部网站目的国内贸易在那个网站上做
  • 用什么建设网站注册深圳公司代理
  • 网站平台建设方案书百度云资源搜索入口
  • 网站 团队博罗网站建设哪家便宜
  • wordpress列表分页枣庄seo外包