
linux网络编程
文章平均质量分 59
严肃认真脸
略懂C++
展开
-
linux下I/O复用与epoll实际使用(一)
一、背景I/O多路复用有很多种实现,在linux上,2.4内核前主要是select和poll,从2.6内核正式引入epoll以来。epoll已经成为目前实现高性能网络服务器的必备技术。尽管他们的使用方法不尽相同,但是从本质上却没有什么区别。二、选择epoll的原因select的缺陷高并发的核心解决方案是1个线程处理所有连接的“等待消息准备好”,这一点上epoll和select是无争议的。...原创 2018-10-08 20:55:27 · 354 阅读 · 1 评论 -
linux下I/O复用与epoll实际使用(二)
上一节《linux下I/O复用与epoll实际使用(一)》主要讲解了epoll的原理,这一节结合socket的编程,详解select与epoll编程示例。一、socket编程在TCP/IP协议中“IP地址+TCP或者UDP端口号”唯一标识网络通讯中的一个进程,"IP+端口号"就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,name两个socket组成的soc...原创 2018-10-18 19:41:56 · 216 阅读 · 0 评论 -
linux下I/O复用与epoll实际使用(三)
前两章已经学习了epoll根据前两篇的学习,基本掌握了epoll事件,但对于同时监控读写事件还未涉及到,故作一次补充server端#include<stdio.h>#include<arpa/inet.h>#include<unistd.h>#include<stdlib.h>#include<sys/socket.h>#i...原创 2018-10-23 19:55:26 · 209 阅读 · 0 评论 -
linux下I/O复用与poll实际使用(四)
poll事件读写,server端代码见下,client端代码见(三)/*poll 与 select 很类似,都是对描述符进行遍历,查看是否有描述符就绪。如果有就返回就绪文件描述符的个数将。poll 函数如下: #include <poll.h> int poll(struct pollfd *fdarray, unsigned long nfds, int timeou...原创 2018-10-23 19:57:56 · 189 阅读 · 0 评论