EAGAIN和EWOULDBLOCK

 

EAGAIN或EWOULDBLOCK二者应该是一样的,对应的错误码是11,

socket在对端关闭后,recv返回的长度为0

socket非阻塞模式下, 如果缓存区没数据,此时recv就会 返回-1,报错误码EAGAIN或EWOULDBLOCK,所以读取失败,要判断是errno是否为EAGAIN或EWOULDBLOCK,

如果是的话,就应该等会儿再试

posted @ 2022-06-01 17:32  ho966  阅读(476)  评论(0编辑  收藏  举报