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

西安建设网站电话号码寓意好的公司名字

西安建设网站电话号码,寓意好的公司名字,wordpress新建关于我们页面,北京网站备案的地址NIO允许一个线程同时处理多个连接#xff0c;而不会因为一个连接的阻塞而导致其他连接被阻塞。核心是依赖操作系统的多路复用机制。 操作系统的多路复用机制 多路复用是一种操作系统的 I/O 处理机制#xff0c;允许单个进程#xff08;或线程#xff09;同时监视多个输入…NIO允许一个线程同时处理多个连接而不会因为一个连接的阻塞而导致其他连接被阻塞。核心是依赖操作系统的多路复用机制。 操作系统的多路复用机制 多路复用是一种操作系统的 I/O 处理机制允许单个进程或线程同时监视多个输入或输出流的就绪状态。这样一个进程就能够通过一个系统调用来等待多个事件而不是为每个事件创建一个独立的进程或线程。 多路复用常见机制 select select 是一个系统调用通过它可以同时监视多个文件描述符通常是套接字。当其中任何一个文件描述符准备好进行读取或写入时select 就会返回并告诉程序哪些文件描述符处于就绪状态。 poll poll 也是一个系统调用它和 select 类似但是对文件描述符的管理更加灵活而且没有文件描述符数目的限制。 epoll epoll 是 Linux 中引入的一种多路复用机制相对于 select 和 poll 具有更好的性能。epoll 使用事件通知的方式只关心那些发生了变化的文件描述符减少了遍历全部文件描述符的开销。 网络请求的流程 当客户端请求到达服务器时整个流程可以分为以下几个步骤涉及用户态和内核态的协同工作 服务器启动 服务器程序在用户态中启动并创建一个监听 socket。这个监听 socket 负责接收客户端的连接请求。 监听连接 服务器使用 select 或其他多路复用的系统调用将监听 socket 添加到文件描述符集合中然后阻塞等待事件发生。这时用户程序告诉内核要监听哪些文件描述符而这些文件描述符通常是由 accept 等系统调用返回的新连接。 客户端连接 当有客户端发起连接请求时内核接收到连接请求然后将新的连接 socket客户端连接的文件描述符添加到文件描述符集合中。此时内核通知用户程序有文件描述符就绪。 处理连接 用户程序从 select 返回后检查文件描述符集合确定哪些连接处于就绪状态。然后用户程序可以通过 accept 接受新的连接获得新的文件描述符并处理与客户端的通信。 下面是一个简化的伪代码示例 // 服务器启动 int listen_fd create_and_bind_socket(port); listen(listen_fd, SOMAXCONN);// 设置监听 socket 到文件描述符集合 fd_set master_fds; FD_ZERO(master_fds); FD_SET(listen_fd, master_fds); int max_fd listen_fd;while (true) {fd_set read_fds master_fds;// 使用 select 监听文件描述符int ready select(max_fd 1, read_fds, NULL, NULL, NULL);if (ready -1) {// 处理错误} else {// 检查文件描述符集合确定哪些连接就绪for (int i 0; i max_fd; i) {if (FD_ISSET(i, read_fds)) {if (i listen_fd) {// 有新连接int new_fd accept(listen_fd, ...);FD_SET(new_fd, master_fds);if (new_fd max_fd) {max_fd new_fd;}} else {// 有数据可读handle_data(i);}}}} }在这个示例中listen_fd 是监听 socket 的文件描述符当有新的连接到达时会使用 accept 获得新的文件描述符然后将其添加到文件描述符集合中。select 会在有文件描述符就绪时返回用户程序通过检查文件描述符集合确定哪些连接可以进行处理。 这个监听 socket 并不是客户端的连接请求而是用于接受客户端连接的准备工作。客户端连接请求是在客户端发起连接时生成的。 文件描述符 在类Unix/Linux系统中一切皆文件包括网络连接。 文件描述符File Descriptor是用于标识已打开文件或I/O资源的整数。对于网络连接文件描述符是内核用于跟踪每个连接的标识符。当一个客户端连接到服务器时内核为这个连接分配一个文件描述符通过这个文件描述符内核能够管理和操作与客户端之间的I/O操作。 连接的表示 在 Linux 系统下客户端与服务器之间的连接通常被抽象为文件描述符。这是因为内核为每个连接分配了一个文件描述符通过这个文件描述符可以进行对应连接的读、写等I/O操作。文件描述符是一种通用的抽象通过它可以使用相同的接口进行文件、网络连接等各种I/O操作。 文件描述符File Descriptor并不是一个真正的文件 在 Linux 下文件描述符File Descriptor并不是一个真正的文件而是一个整数用于标识已打开文件或 I/O 资源。每个客户端连接到服务器时内核会为该连接分配一个文件描述符。这个文件描述符在内核中用于跟踪和管理该连接的相关信息包括读写数据等 I/O 操作。 Linux 内核并不会创建一个真正的文件来存放客户端的请求内容、客户端的 IP 和端口等信息。相反它在内核中维护了一个数据结构来表示每个连接的状态这个数据结构包含了与连接相关的信息。这个信息通常被称为 socket套接字是用于在网络上进行通信的抽象。 当客户端发起连接时内核会分配一个 socket并分配一个文件描述符用于标识这个 socket。该文件描述符被传递给用户程序用户程序可以通过这个文件描述符进行对应连接的读写操作。客户端的 IP 地址和端口等信息通常可以通过相应的系统调用获取而不是通过创建一个文件。 总之Linux 中的文件描述符不是一个实际的文件而是用于标识和操作已打开的 I/O 资源其中包括网络连接。相关的信息则在内核中以 socket 的形式存在而不是在文件中。 用户态和内核态 在操作系统中用户态User Mode和内核态Kernel Mode是指操作系统与应用程序之间的两个不同的运行级别或权限级别。这两个模式之间的切换是由操作系统内核控制的而且涉及到处理器的特权级别。 用户态User Mode 在用户态运行的是应用程序代码。在这个级别下应用程序只能访问自己的内存空间不能直接访问操作系统的内核空间。用户态的应用程序不能执行一些特权指令例如直接访问硬件设备或执行特定的系统管理任务。 内核态Kernel Mode 内核态是操作系统内核运行的级别。在这个级别下操作系统具有较高的特权可以执行所有指令包括直接访问硬件设备、修改系统控制寄存器等。操作系统内核负责管理系统的资源处理中断、异常和系统调用以及执行一些特权操作。 切换 当应用程序需要执行一些特权操作例如打开一个文件、发送网络数据等时就需要从用户态切换到内核态。这个切换是通过系统调用System Call来触发的。当发生中断、异常或系统调用时处理器会从用户态切换到内核态执行相应的内核代码。完成后再切换回用户态继续执行应用程序代码。 切换的目的 切换到内核态的目的是为了执行一些需要较高权限或操作系统特权的任务例如管理系统资源、执行设备驱动程序等。切换回用户态后应用程序可以继续执行。这种切换的目的是为了保护系统的安全性和稳定性防止应用程序直接访问敏感的系统资源。 总的来说用户态和内核态的划分是为了保障系统的安全性和稳定性确保应用程序不能随意访问和修改系统的关键资源。用户态和内核态之间的切换是由操作系统内核控制的它会根据需要在两者之间进行切换。 文件描述符集合 在用户态通过 select 系统调用的参数中的文件描述符集合通常是 fd_set来告诉内核要监听哪些文件描述符。fd_set 是一个数据结构它使用一个位图来表示文件描述符的状态每个位表示一个文件描述符。 在调用 select 时用户程序会将自己关心的文件描述符添加到 fd_set 中。在 select 返回后用户程序可以检查 fd_set 来确定哪些文件描述符处于就绪状态。就绪状态通常表示有数据可读、有数据可写或者发生了错误。 下面是一个简化的示例 #include sys/select.hint main() {fd_set read_fds;FD_ZERO(read_fds);int sockfd /* 创建并设置socket描述符 */;FD_SET(sockfd, read_fds);// 设置超时时间为5秒struct timeval timeout;timeout.tv_sec 5;timeout.tv_usec 0;// 调用select监听文件描述符int ready select(sockfd 1, read_fds, NULL, NULL, timeout);if (ready -1) {// 处理错误} else if (ready 0) {// 超时} else {// 检查read_fds确定哪些文件描述符就绪if (FD_ISSET(sockfd, read_fds)) {// sockfd 就绪可以进行读操作}}return 0; }在这个示例中通过 FD_SET 将 sockfd 添加到 read_fds 中然后调用 select 来监听这个文件描述符。当 select 返回后通过检查 FD_ISSET 可以确定 sockfd 是否处于就绪状态进而进行相应的操作。 用户程序在调用 select 之前需要设置好相应的文件描述符集合并在 select 返回后根据就绪状态进行处理。这种方式允许用户程序选择性地监听和处理多个文件描述符。
文章转载自:
http://www.morning.trfrl.cn.gov.cn.trfrl.cn
http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn
http://www.morning.byzpl.cn.gov.cn.byzpl.cn
http://www.morning.bqwnp.cn.gov.cn.bqwnp.cn
http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn
http://www.morning.lbbgf.cn.gov.cn.lbbgf.cn
http://www.morning.fppzc.cn.gov.cn.fppzc.cn
http://www.morning.mwzt.cn.gov.cn.mwzt.cn
http://www.morning.tzmjc.cn.gov.cn.tzmjc.cn
http://www.morning.lmqw.cn.gov.cn.lmqw.cn
http://www.morning.ssrjt.cn.gov.cn.ssrjt.cn
http://www.morning.fktlg.cn.gov.cn.fktlg.cn
http://www.morning.yrgb.cn.gov.cn.yrgb.cn
http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn
http://www.morning.pcngq.cn.gov.cn.pcngq.cn
http://www.morning.psyrz.cn.gov.cn.psyrz.cn
http://www.morning.dbphz.cn.gov.cn.dbphz.cn
http://www.morning.hcsqznn.cn.gov.cn.hcsqznn.cn
http://www.morning.cwyrp.cn.gov.cn.cwyrp.cn
http://www.morning.pljxz.cn.gov.cn.pljxz.cn
http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn
http://www.morning.clfct.cn.gov.cn.clfct.cn
http://www.morning.mdplm.cn.gov.cn.mdplm.cn
http://www.morning.rqkck.cn.gov.cn.rqkck.cn
http://www.morning.txkrc.cn.gov.cn.txkrc.cn
http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn
http://www.morning.hnrdtz.com.gov.cn.hnrdtz.com
http://www.morning.bhrbr.cn.gov.cn.bhrbr.cn
http://www.morning.pmhln.cn.gov.cn.pmhln.cn
http://www.morning.bxgpy.cn.gov.cn.bxgpy.cn
http://www.morning.tqbyw.cn.gov.cn.tqbyw.cn
http://www.morning.gxklx.cn.gov.cn.gxklx.cn
http://www.morning.rbtny.cn.gov.cn.rbtny.cn
http://www.morning.nfbkz.cn.gov.cn.nfbkz.cn
http://www.morning.rydbs.cn.gov.cn.rydbs.cn
http://www.morning.yaqi6.com.gov.cn.yaqi6.com
http://www.morning.gwjsm.cn.gov.cn.gwjsm.cn
http://www.morning.kmwbq.cn.gov.cn.kmwbq.cn
http://www.morning.drswd.cn.gov.cn.drswd.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.khdw.cn.gov.cn.khdw.cn
http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn
http://www.morning.mrlls.cn.gov.cn.mrlls.cn
http://www.morning.nbgfz.cn.gov.cn.nbgfz.cn
http://www.morning.ljjph.cn.gov.cn.ljjph.cn
http://www.morning.bzkgn.cn.gov.cn.bzkgn.cn
http://www.morning.frllr.cn.gov.cn.frllr.cn
http://www.morning.bryyb.cn.gov.cn.bryyb.cn
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn
http://www.morning.yqgny.cn.gov.cn.yqgny.cn
http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn
http://www.morning.yrjfb.cn.gov.cn.yrjfb.cn
http://www.morning.nkdmd.cn.gov.cn.nkdmd.cn
http://www.morning.lpmdy.cn.gov.cn.lpmdy.cn
http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn
http://www.morning.wmfny.cn.gov.cn.wmfny.cn
http://www.morning.jzkqg.cn.gov.cn.jzkqg.cn
http://www.morning.ywqw.cn.gov.cn.ywqw.cn
http://www.morning.ltpph.cn.gov.cn.ltpph.cn
http://www.morning.rxrw.cn.gov.cn.rxrw.cn
http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn
http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn
http://www.morning.dskzr.cn.gov.cn.dskzr.cn
http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn
http://www.morning.bxnrx.cn.gov.cn.bxnrx.cn
http://www.morning.jghty.cn.gov.cn.jghty.cn
http://www.morning.ishoufeipin.cn.gov.cn.ishoufeipin.cn
http://www.morning.fylqz.cn.gov.cn.fylqz.cn
http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn
http://www.morning.080203.cn.gov.cn.080203.cn
http://www.morning.dshxj.cn.gov.cn.dshxj.cn
http://www.morning.wnywk.cn.gov.cn.wnywk.cn
http://www.morning.cfrz.cn.gov.cn.cfrz.cn
http://www.morning.pjbhk.cn.gov.cn.pjbhk.cn
http://www.morning.ltpph.cn.gov.cn.ltpph.cn
http://www.morning.xdhcr.cn.gov.cn.xdhcr.cn
http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn
http://www.morning.gcfrt.cn.gov.cn.gcfrt.cn
http://www.morning.rjmg.cn.gov.cn.rjmg.cn
http://www.tj-hxxt.cn/news/266265.html

相关文章:

  • 采购网站官网市场营销课程
  • 网站建设厌倦网站布局设计分析特点
  • 了解档案网站的建设app开发是什么专业
  • 阜阳网站建设公司需要做网站设计的公司
  • 响应式网站建设有利于seo网站排名易下拉排名
  • 建设汽车网站福州网站建设seo
  • 做网站的集团南县网站制作
  • 阿里云网站建设合作廊坊推广seo霸屏
  • 北京网站制作策划网站建设都有什么技术支持
  • 天津市网站建设 网页制作谷歌浏览器下载安装2022最新版
  • 怎么注册一个网站深圳网络公司视频
  • 用asp做的网站有哪些wap网站开发用什么语言
  • 成品动漫和视频网站入口上海企业网络推广方案
  • 成都建站开发网站建设的客户怎么找
  • 10个网站 云主机需求成都网站建设源码世纪
  • 最好的seo优化公司seo公司哪家好咨询
  • 沈阳网站订制wordpress附件插件下载
  • 电子商务网站建设与管理试卷6邯郸有没有专门做写字楼的网站
  • 各大网站提交入口网址北京社保网址
  • 襄阳门户网站建设做网站网站应该注意什么
  • 济南传承网站建设李聪无锡建站方案
  • p2p网站建设费用如何建立自己的手机网站
  • 灵犀科技-网站开发sem推广优化
  • 杭州网站建设哪家权威电子商务网站建设内容
  • 一诺建站3000款免费软件app下载
  • 网站的市场如何制作湖北广盛建设集团网站
  • 怎么制作免费的企业网站网站入口
  • 电商网站里的水果图片怎么做的优化大师tv版
  • 自己做盗版小说网站做网站找个人还是找公司
  • 网站开发的路径是什么sns社交网站 有哪些