首页UC › epoll的一个实例(循环读,循环写,错误处理)

epoll的一个实例(循环读,循环写,错误处理)

服务端代码:
epoll循环读写,处理EAGAIN,ECONNRESET,EINTR等错误,不错的例子

注意以下几点:
1. #14设定为5是故意的,为了测试后续的输入和输出
2. 整个服务器的功能是先读取字符串,然后向对方写内容。
3. #110处设置通信socket为非阻塞。
4. 注意#130~#183的读干净缓冲区的read。
5. 注意#213#264的完全写完所需要传送内容的write。
6. 关于EPOLLET,epoll_wait只有在socket状态发生变化的时候才会返回。所以要对fd进行循环accept,read, write;知直到socket的缓冲区空(read, accept)或者填满(write)为止。

客户端代码:

发表评论