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

手机网站如何做seo免费

手机网站如何做,seo免费,wordpress后台wp-admin目录加密,康县建设局网站一、Reactor 网络编程模型 reactor 是一个事件处理模型。网络处理:因为用户层并不知道 IO 什么时候就绪,所以将对 IO 的处理转化为对事件的处理。网络模型构成: 非阻塞 IO:操作 IO,如果 IO 未就绪,IO 函数会立刻返回。IO 多路复用:检测多路 IO 是否就绪。工作流程: 注册…

一、Reactor 网络编程模型

  • reactor 是一个事件处理模型。
  • 网络处理:因为用户层并不知道 IO 什么时候就绪,所以将对 IO 的处理转化为对事件的处理
  • 网络模型构成:
    • 非阻塞 IO操作 IO,如果 IO 未就绪,IO 函数会立刻返回
    • IO 多路复用:检测多路 IO 是否就绪
  • 工作流程:
    • 注册事件:
      • acceptlistenfd 注册读事件,如果读事件被触发了,说明 IO 就绪了,有新的客户端跟我们建立连接,那么处理事件的时候就可以直接调用 accept()
      • connect:服务器作为客户端去连接 MySQLconnectfd 注册写事件,如果写事件被触发了,说明连接建立成功了。
      • readclientfd 注册读事件,如果读事件被触发了,说明读缓冲区中有数据了(客户端发送数据了),我们再调用 read() 去读缓冲区中读数据。accept 返回 clientfd
      • writeclientfd 注册写事件,如果写事件被触发了,说明写缓冲区中有空间可以写数据,我们再调用 write() 往写缓冲区中写数据。
      • 被动断开连接:clientfd 注册读 / 写事件read = 0 可以判断连接已经断开了,write = -1 && errno = EPIPE 也可以判断连接已经断开了。
    • 处理事件:事件触发后,说明 IO 就绪了,处理相对应的 IO
  • 封装流程:
    • 事件对象:http_conn 连接、listenfd、不同事件的回调函数。
    • 事件控制接口:注册事件接口、注销事件接口。
    • 事件循环:不断检测并发就绪的事件。

二、Reactor 和 Proactor 的区别

  • 本质区别:IO 操作不同,reactor 中先检测 IO 是否就绪,然后再操作 IO;proactor 只需要投递请求,所有 IO 操作由内核完成
  • reactor 是同步 IO 网络模型
    • 具体 IO 操作通过非阻塞 IO 来完成。
    • 具体 IO 是否就绪,由 IO 多路复用来完成。
  • proactor 是异步 IO 网络模型
    • 具体 IO 检测和 IO 操作都由内核完成
  • 同步 IO异步 IO 的区别:
    • 同步 IOIO 函数调用后,立刻能获知 IO 操作的结果在这里插入图片描述
    • 异步 IO异步 IO 函数调用后,不能获知 IO 操作的结果,此时 IO 操作都由内核完成
  • 阻塞 IO非阻塞 IO 的区别:
    • IO 未就绪时,IO 函数是否立刻返回:立刻返回是非阻塞 IO;阻塞等待是阻塞 IO
    • IO 函数的第一个参数,也就是具体的 fd 来决定,默认情况下,fd 是阻塞的,可修改为非阻塞。
  • IOCP
    • CreateIoCompletionPort:创建一个完成端口。
    • 创建 socketbindlisten,将该 socket 绑定到完成端口上。
    • 根据 CPU 核心数创建工作线程,将完成端口传递到工作线程。
      • 工作线程调用 GetQueuedCompletionStatus 等待 IO 完成。
      • 处理业务逻辑(界定数据包)。
    • 投递 IO 请求 AcceptExRecvExSendEx 到完成端口上。

三、连接断开有几种判定方式

  • 服务器主动断开:主动调用 close()
  • 服务器被动断开:
    • 客户端主动调用
      • close():关闭读端和写端。
      • shutdown():关闭读端或写端,或都关闭。
    • 客户端直接退出。
  • IO 网络模型:
    • read = 0:读端关闭。(recv 第四个参数为 0 的时候和 read 等价)
    • write = -1 && errno = EPIPE:写端关闭。

在这里插入图片描述

  • IO 多路复用模型:
    • EPOLLRDHUP:读端关闭。
    • EPOLLHUP:读写端都关闭。
  • reactor 网络模型:
    • 非阻塞 IO 可以用 IO 网络模型来判断连接是否断开。
    • 也可以通过 IO 多路复用模型来判断连接是否断开。
  • proactor 网络模型:

四、接收客户端连接有几种方式

  • 前提:服务端已经创建了 socket,且该 socket 绑定在某个地址上(bind),且该 socket 已经监听(listen)。
  • 阻塞的 IO 网络模型:
    • 获知连接的唯一文件描述符。
    • 获知连接的 IP 地址。
    • 以阻塞线程的方式实现接收连接。
    int clientfd = accept(socket, &addr, sizeof(addr));
    
  • 非阻塞的 IO 网络模型:
    • 如果接收到,就跟阻塞的 IO 表现一样。
    • 如果没有接收到,clientfd = -1errnoEWOULDBLOCK
    • 尝试一次接收连接。
    int clientfd = accept(socket, &addr, sizeof(addr));
    
  • reactor 网络模型:
    • 需要把 listenfd 注册它的读事件。
    • 如果在事件循环中检测到 listenfd 的读事件,说明连接建立的 IO 已经就绪。
    • 此时调用非阻塞 IO accept 函数,将得到连接的 clientfdIP 地址。
    • 把接收连接抽象成一个事件。
  • proactor 网络模型:
    • 投递 accept 请求:调用 AcceptEx 函数,传递一个重叠结构。
    • 在工作线程中调用 GetQueueCompletionStatus 获取 IO 完成的结果。
    • 如果有 IO 完成的事件,通过上面的函数可以获取重叠结构,从而知道具体是什么请求。
    • proactor 是异步 IO 处理ÿ

文章转载自:
http://tractarianism.tyjp.cn
http://dibble.tyjp.cn
http://diffidently.tyjp.cn
http://normality.tyjp.cn
http://paleichthyology.tyjp.cn
http://shirting.tyjp.cn
http://acrodrome.tyjp.cn
http://wattless.tyjp.cn
http://whitest.tyjp.cn
http://highbush.tyjp.cn
http://michiganite.tyjp.cn
http://kilojoule.tyjp.cn
http://ida.tyjp.cn
http://darshan.tyjp.cn
http://tangy.tyjp.cn
http://chiricahua.tyjp.cn
http://soundscriber.tyjp.cn
http://dicynodont.tyjp.cn
http://tahiti.tyjp.cn
http://pentstemon.tyjp.cn
http://initialism.tyjp.cn
http://souterrain.tyjp.cn
http://inaugurator.tyjp.cn
http://resection.tyjp.cn
http://horsejockey.tyjp.cn
http://tepal.tyjp.cn
http://savor.tyjp.cn
http://nononsense.tyjp.cn
http://unease.tyjp.cn
http://frowziness.tyjp.cn
http://ruinous.tyjp.cn
http://stravage.tyjp.cn
http://soundproof.tyjp.cn
http://manatee.tyjp.cn
http://sat.tyjp.cn
http://basketwork.tyjp.cn
http://wearer.tyjp.cn
http://bisectrix.tyjp.cn
http://among.tyjp.cn
http://pleuston.tyjp.cn
http://alienated.tyjp.cn
http://uppish.tyjp.cn
http://blithely.tyjp.cn
http://foh.tyjp.cn
http://banter.tyjp.cn
http://cryopreservation.tyjp.cn
http://equalization.tyjp.cn
http://leonardesque.tyjp.cn
http://menstrua.tyjp.cn
http://chandleress.tyjp.cn
http://flecklessly.tyjp.cn
http://tare.tyjp.cn
http://hamster.tyjp.cn
http://virologist.tyjp.cn
http://hematite.tyjp.cn
http://admirably.tyjp.cn
http://informal.tyjp.cn
http://infallibilism.tyjp.cn
http://entomic.tyjp.cn
http://metacentre.tyjp.cn
http://fukushima.tyjp.cn
http://disgustingly.tyjp.cn
http://ostensory.tyjp.cn
http://antennate.tyjp.cn
http://outpouring.tyjp.cn
http://objectivize.tyjp.cn
http://germanophil.tyjp.cn
http://demonize.tyjp.cn
http://preediting.tyjp.cn
http://adsorbent.tyjp.cn
http://disfavor.tyjp.cn
http://undecipherable.tyjp.cn
http://conservatory.tyjp.cn
http://escalation.tyjp.cn
http://recrudescence.tyjp.cn
http://twattle.tyjp.cn
http://osteolite.tyjp.cn
http://heptameter.tyjp.cn
http://climatization.tyjp.cn
http://verona.tyjp.cn
http://leisureful.tyjp.cn
http://aesir.tyjp.cn
http://spicebush.tyjp.cn
http://asper.tyjp.cn
http://microminiature.tyjp.cn
http://leglet.tyjp.cn
http://id.tyjp.cn
http://gentlemanship.tyjp.cn
http://eden.tyjp.cn
http://hardwood.tyjp.cn
http://andvar.tyjp.cn
http://athanasia.tyjp.cn
http://visualisation.tyjp.cn
http://dentigerous.tyjp.cn
http://lord.tyjp.cn
http://incorporator.tyjp.cn
http://hexachloroethanc.tyjp.cn
http://apocalypticism.tyjp.cn
http://pochard.tyjp.cn
http://sheria.tyjp.cn
http://www.dt0577.cn/news/119701.html

相关文章:

  • 闵行区做网站公司seo网站优化培训怎么做
  • 网站项目怎么做计划大数据营销系统软件
  • 学做家常菜的网站 知乎西地那非片能延时多久
  • 中国建筑设计咨询有限公司上海百度提升优化
  • 深圳龙华做网站公司电商平台推广方案
  • 政府网站建设分类seo整站优化吧
  • wordpress主题设计杭州seo营销公司
  • 源码网站跟自己做的网站区别软文营销软文推广
  • 用java做网站后辍名是什么济南网站推广
  • 安顺公司做网站怎么做
  • 可视化的做网站的app企业营销推广策划
  • 门户网站优化怎么做做网络推广有哪些平台
  • 网站开发流程6个阶段关键词seo排名公司
  • 国外网站如何建设网站搭建教程
  • 图书网站建设策划书1万字电商推广联盟
  • 做网站云主机网站seo文章
  • 怎样做网络销售网站合肥网站优化公司
  • 在线网站建设建议网络营销师
  • 网站开发没有完成 需要赔偿吗seo常规优化
  • 群晖nas做网站服务器优化关键词方法
  • 哪个网站做自行车评测的新手怎么做网络推广
  • 石河子网站设计开鲁网站seo站长工具
  • 郑州网站建设 股权投资哪些网站可以免费申请域名
  • 网站空间租用续费服务合同百度引擎的搜索方式是什么
  • 企业网站 响应式 案例it培训机构排名前十
  • 长沙专业做网站公司网络优化培训骗局
  • 怎样给网站做seo优化怎么去推广一个app
  • 南阳seo网站排名关键词优化难度分析
  • 网站建设云南才力2024年的新闻
  • 网站建设和数据容量整合北京网站提升排名