epoll 通俗理解
1.首先创建一个ip、port 这就是自己的地址 (酒店地址)
2.创建一个监听socket,将这个socket与步骤1的地址绑定起来 (可以理解为酒店的门岗?)
3.epoll_create创建一个文件描述符,再创建一个事件的数组。(文件描述符是店长)
4.将上面的监听sokcet用epoll_ctl添加到步骤3的描述符中,同时还要绑定特定的事件,比如有消息传入、有人想链接。(店长招兵买马,买到了一个门岗,然后给门岗排具体的活,接收想要链接的人、想要发消息的人)
5.调用epoll_wait(),这个函数会将所有步骤3接受到的文件描述符传入到事件数组中。(所有有服务器要求的客户端,店长将他们排成一队,然后依次安排线程处理他们)
6.对所有的事件数组进行遍历处理
6.1 如果事件是想要链接,那么就和他链接,调用accept()。
6.2 如果事件是想要通信发消息,那么就接受消息。