I/O复用:poll

I/O复用:一个进程或者一个线程能够同时对多个文件描述符(socket)提供服务

首先我们需要了解poll的函数原型
   poll函数原型:
   int poll(struct pollfd *fds, in length, int timeout);
   struct pollfd *fds:是一个指针,传递数组
I/O复用:poll
   int nfds:数组长度,用户关注的文件描述符的个数
   int length:超时时间
      -1 出错//永久阻塞
      0 超时
      >0 就绪文件描述符个数

poll与select简单对比:
I/O复用:poll

poll支持的事件类型(红色为常用):
I/O复用:poll

I/O复用使用poll下TCP服务器的实现(客户端与TCP的相同):
I/O复用:poll
I/O复用:poll
I/O复用:poll
I/O复用:poll
一个客户端与服务器连接如图(连接成功):
I/O复用:poll
多个客户端与服务器连接如图(连接成功):
I/O复用:poll