网络编程
15191806282
请大家多多关照!
展开
-
I/O复用-select系统调用
I/O复用使得程序能够同时监听多个文件描述符,通常一下情况需要用到I/O复用技术:1、客户端程序要同时处理多个socket。 2、客户端程序要同时处理用户输入和网络连接。 3、TCP服务器要同时处理监听socket和连接socket。 4、服务器要同时处理TCP请求和UDP请求。 5、服务器要同时监听多个端口,或者处理多种服务。select系统调用用途:在一段指定的时间内,监听用户感兴趣的文原创 2017-04-17 21:45:52 · 282 阅读 · 0 评论 -
I/O复用-poll系统调用
用途: poll 系统调用和 select 类似,也是在指定时间内轮询一定数量的文件描述符,检测其中是否有就绪的文件描述符。#include <poll.h>/* * fd 参数是一个 pollfd 结构类型的数组,它指定所有感兴趣的文件描述符上发生的可读、可写和异常等事件 * nfds 参数指定被监听事件集合 fds 的大小 * timeout 参数指定 poll 的超时值,当 time原创 2017-04-18 15:30:50 · 305 阅读 · 0 评论 -
I/O复用-epoll系列系统调用
epoll 是 Linux 特有的I/O复用函数。 ① epoll 使用一组函数来完成任务 ② epoll 把用户关心的文件描述符上的事件放在内核里的一个事件表里,需要使用一个额外的文件描述符来唯一标识内核中的这个事件表#include <sys/epoll.h>/* * size 参数现在并不起作用,只是告诉内核事件表需要多大 * 该函数返回的文件描述符将用作其他所有epoll系统调用原创 2017-04-18 16:08:53 · 289 阅读 · 0 评论 -
I/O复用-select、poll和epoll的区别
select、poll和epoll三组I/O复用系统调用都能监听多个文件描述符。下来就从事件集、最大支持文件描述符数、工作模式和具体实现对这三组函数做个比较:原创 2017-04-18 20:26:42 · 306 阅读 · 0 评论