![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IO复用
文章平均质量分 74
sinat_35297665
这个作者很懒,什么都没留下…
展开
-
Linux下的I/O复用与epoll详解
http://www.cnblogs.com/lojunren/p/3856290.html前言 I/O多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术。尽管他们的使用方法不尽相同,但是本质上却没有什么区别。本文将重点探讨将放在EP转载 2017-10-26 21:17:42 · 206 阅读 · 0 评论 -
Linux网络编程“惊群”问题总结
http://www.cnblogs.com/Anker/p/7071849.html1、前言 我从事Linux系统下网络开发将近4年了,经常还是遇到一些问题,只是知其然而不知其所以然,有时候和其他人交流,搞得非常尴尬。如今计算机都是多核了,网络编程框架也逐步丰富多了,我所知道的有多进程、多线程、异步事件驱动常用的三种模型。最经典的模型就是Nginx中所用的Master-Worker转载 2018-01-25 23:10:59 · 171 阅读 · 0 评论 -
epoll用法整理 实现回声服务端
http://blog.csdn.net/chenxun_2010/article/details/504934811、epoll是什么?epoll是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,都是I/O多路复用(IO multiplexing)技术。Linux下设计并发网络程序,常用的模型有: Apache模型(转载 2018-01-18 22:05:05 · 241 阅读 · 0 评论 -
socket编程 -- epoll模型服务端/客户端通信的实现
http://blog.csdn.net/y396397735/article/details/50680359本例实现如下功能: 支持多客户端与一个服务端进行通信,客户端给服务端发送字符串数据,服务端将字符串中小写转为大写后发送回客户端,客户端打印输出经转换后的字符串。 例如:发送abcde,打印输出ABCDE 服务端源码如下:/*server.c*/#in转载 2018-01-19 21:01:30 · 317 阅读 · 0 评论 -
poll函数实现多路复用
http://blog.csdn.net/xluren/article/details/8206371结构体pollfdstruct pollfd{int fd; //file descriptorshort event; //event of interest on fdshort reven; //event that转载 2018-01-19 22:56:58 · 327 阅读 · 0 评论 -
socket通信之最简单的socket通信
http://blog.csdn.net/xluren/article/details/8043484#t15套接字有三种类型流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM)及原始套接字。1.流式套接字提供面向连接、可靠的数据传输服务,数据按字节流、按顺序收发,保证在传输过程中无丢失、无冗余。TCP协议支持该套接字。2.数据报套接字转载 2018-01-19 22:57:59 · 216 阅读 · 0 评论 -
深入研究socket编程(3)——使用select函数编写客户端和服务器
http://blog.csdn.net/chenxun_2010/article/details/50488394首先看原先《UNIX网络编程——并发服务器(TCP)》的代码,服务器代码serv.c:[cpp] view plain copy#include #include #include #inclu转载 2018-01-19 23:12:07 · 182 阅读 · 0 评论 -
UNIX网络编程——select函数的并发限制和 poll 函数应用举例
http://blog.csdn.net/chenxun_2010/article/details/50489577一、用select实现的并发服务器,能达到的并发数,受两方面限制 1、一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit -n来调整或者使用setrlimit函数设置, 但一个系统所能打开的最大数也是有限的,跟转载 2018-01-19 23:13:24 · 161 阅读 · 0 评论 -
使用poll实现的io多路复用服务端和客户端
http://blog.csdn.net/robertkun/article/details/52269313参考:http://www.cnblogs.com/Anker/p/3261006.html使用poll实现的io多路复用服务端和客户端。客户端通过子进程创建多个客户端连接。客户端每隔1秒向服务端发送一个时间戳,服务端接收到时间戳以后转载 2018-01-19 23:23:38 · 264 阅读 · 0 评论 -
基于epoll的简单的http服务器
http://blog.csdn.net/fangjian1204/article/details/34415651http服务器已经可以处理并发连接,支持多个客户端并发访问,每个连接可以持续读写数据,当然,这只是一个简单的学习例子,还有很多bug,发表出来只是希望大家可以互相学习,我也在不断的改进,希望大家有什么意见可以多多指点,谢谢server.h转载 2018-01-22 23:36:26 · 404 阅读 · 0 评论 -
处理大并发之二 对epoll的理解,epoll客户端服务端代码
http://blog.csdn.net/wzjking0929/article/details/51838370序言:该博客是一系列的博客,首先从最基础的epoll说起,然后研究libevent源码及使用方法,最后研究nginx和node.js,关于select,poll这里不做说明,只说明其相对于epoll的不足,其实select和poll我也没用过,因为我选择了epo转载 2018-01-22 23:18:40 · 172 阅读 · 0 评论 -
Linux下I/O多路转接之select --fd_set
http://blog.csdn.net/li_ning_/article/details/52165993fd_set你终于还是来了,能看到这个标题进来的,我想,你一定是和我遇到了一样的问题,一样的疑惑,接下来几个小时,我一定竭尽全力,写出我想说的,希望也正是你所需要的:关于Linux下I/O多路转接之select,我不想太多的解释,用较少的文章引出今天我要说的问转载 2017-11-07 10:01:47 · 293 阅读 · 2 评论 -
I/O多路转接之poll 函数
http://blog.csdn.net/li_ning_/article/details/52167224poll一、poll()函数:这个函数是某些Unix系统提供的用于执行与select()函数同等功能的函数,自认为poll和select大同小异,下面是这个函数的声明:[cpp] view plain copy转载 2017-11-07 10:20:35 · 258 阅读 · 0 评论 -
Anker—工作学习笔记
http://www.cnblogs.com/Anker/archive/2013/08/17/3263780.html1、基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,转载 2017-10-26 20:28:50 · 306 阅读 · 0 评论 -
socket网络编程--epoll小结
http://www.cnblogs.com/wunaozai/p/3895860.html 以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这个数转载 2017-11-06 18:11:18 · 191 阅读 · 0 评论 -
Linux 网络编程八(epoll应用--大并发处理)
http://www.cnblogs.com/zhanggaofeng/p/5901316.html//头文件 pub.h#ifndef _vsucess#define _vsucess#ifdef __cplusplusextern "C"{#endif//服务器创建socketint server_socket(int port);//设置非阻塞in转载 2018-01-04 14:48:51 · 204 阅读 · 0 评论 -
Linux epoll模型
http://www.cnblogs.com/venow/archive/2012/11/30/2790031.html定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果而不是迫使开转载 2017-12-29 10:50:59 · 115 阅读 · 0 评论 -
Linux IO模式及 select、poll、epoll详解
https://segmentfault.com/a/1190000003063859同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进转载 2017-12-29 11:22:33 · 107 阅读 · 0 评论 -
IO多路复用之epoll总结
http://www.cnblogs.com/Anker/p/3263780.html1、基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需转载 2017-12-29 23:56:41 · 158 阅读 · 0 评论 -
Linux I/O复用之select函数详解
http://blog.csdn.net/y396397735/article/details/55004775select函数的功能和调用顺序使用select函数时统一监视多个文件描述符的: 1、 是否存在套接字接收数据? 2、 无需阻塞传输数据的套接字有哪些? 3、 哪些套接字发生了异常?select函数调用过程: 由上图知,调用sel转载 2018-01-19 23:05:03 · 147 阅读 · 0 评论 -
IO多路复用之poll总结
http://www.cnblogs.com/Anker/p/3261006.html1、基本知识 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文转载 2018-01-22 22:59:47 · 157 阅读 · 0 评论 -
Epoll 的tcp通信代码(服务器+客户端)
http://blog.csdn.net/libinbin_1014/article/details/50096187Epoll 的tcp通信代码(服务器+客户端)/*gcc -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I${ORACLE_HOME}/rdbms/public -I${ORACLE_HOME}/rdbms/demo转载 2018-01-19 23:25:59 · 364 阅读 · 0 评论 -
epoll原理详解(最清晰)
https://blog.csdn.net/lyztyycode/article/details/79491419我只是把内容搬运过来做个记录,方便自己以后回头看。第一部分:select和epoll的任务关键词:应用程序 文件句柄 用户态 内核态 监控者要比较epoll相比较select高效在什么地方,就需要比较二者做相同事情的方法。要完成对I/O流的复用需要完成如下几个事情:1.用户态怎么将文件...转载 2018-06-04 17:11:17 · 744 阅读 · 0 评论