摘要: 上一篇介绍了select的基本用法,接着来学习一下poll和epoll的基本用法。首先来看poll:#include int poll (struct pollfd *fds, unsigned int nfds, int timeout); poll() 采用了struct pollfd 结构数组来保存关心的文件描述符,而不是像select一样使用三个fd_set ,pollfd结构体定义如下:struct pollfd { int fd; /* file descriptor */ short events; /* requested events to watch */... 阅读全文
posted @ 2014-02-15 23:28 KingsLanding 阅读(908) 评论(0) 推荐(0) 编辑
摘要: Linux Socket 编程中I/O Multiplexing 主要通过三个函数来实现:select, poll,epoll来实现。I/O Multiplexing,先构造一张有关描述符的列表,然后调用一个函数,直到这些描述符中的一个已准备好进行I/O时,该函数才返回。在返回时,它告诉进程哪些描述符已准备好可以进行I/O。本文具体介绍一下select 和poll的用法,给出简单的demo代码,简要分析一下这两个函数的使用易出错的地方。 #includeint select(int maxfdp1, fd_set *restrict readfds, fd_set *restrict ... 阅读全文
posted @ 2014-02-15 11:09 KingsLanding 阅读(1009) 评论(0) 推荐(0) 编辑