阻塞和非阻塞socket总结
非阻塞socket设置方法:
fcntl(socket_fd, F_SETFL, fcntl (socket_fd, F_GETFL,0) | O_NONBLOCK);
非阻塞模式下错误处理:
EAGAIN和EWOULDBLOCK(windows下)错误,这表明你在非阻塞模式下调用了阻塞操作,在该操作没有完成就返回这个错误,关于此错误一种说法是此错误表示目前无端口可用,另一种说法说的是发送缓冲区已满,遇到这两种错误不能当作错误处理,一种处理方法是采用延时处理稍后发送/接收,另一种是在类似poll/s.
转载
2020-06-17 14:18:39 ·
271 阅读 ·
1 评论