(P18)socket编程(十三)
文章目录
poll只有第一个限制
cat /proc/sys/fs/file-max
因为
因为当前内存是512M,所以系统可以打开的最大文件描述符的个数为5万。若是1G,则是10万左右,10G就是百万。
select和poll的共同点
效率不高的原因:
创建一个epoll实例,size不是最大并发数,size仅仅代表内部所创建的hash表的大小
epoll_creat1:最新的,而且fd的数量已经由红黑树来控制
将一个fd添加到epoll来管理
等待事件
epoll这块测试代码用c++编写
客户端
服务端
总共1024个fd,为什么只有1019个fd?
0 1 2 3(监听fd),4(epollfd的句柄),所以最多连接1019个fd
第3和第4,epoll比poll和select效率高的原因
第三
epoll_wait返回的事件就已经指出了哪一个fd发生了可读或者可写的事件,所以不用在应用层遍历fd
第五
填充指的是epoll_ctrl填充的
epoll少了2次的遍历
37:57