/*
边沿触发模式+非阻塞模式注意点:
1.监听描述符设置为阻塞模式,原因阻塞等待客户端连接
2.新连接的网络描述符设置成非阻塞,监听事件要加上边沿触发例如: ev.events = EPOLLIN | EPOLLET
3.读取方式需要循环读取
4.非阻塞方式,读取数据的方法read recv等函数是不阻塞的。读取不到数据会把errno 设置为EAGAIN,这里需要做个判断当errno == EAGAIN相等时,退出循环(原因是数据已经读取完了)
5.当检测到是新的连接的时候,需要把新的网络描述符添加到epoll事件中,需要用到定义在开头的struct epoll_event ev,ev这个变量,这个变量的作用在于启到唯一的作用,
客户端连接上需要和一个固定的变量比较,所以不能在检测到是新连接的时候创建struct epoll_event ev新对象,用新对象来添加网络描述符,不然会导致客户端连接上服务器后就无法操作了。