关于非阻塞状态下recv返回值问题?

recv函数非阻塞状态下没有数据返回值为0,如果客户端关闭返回值也是0,如何区别这两个状态呢?

心有法竹
浏览 1138回答 2
2回答

大话西游666

默认 recv 应该是阻塞的,当设置 MSG_DONTWAIT 或者套接字的描述符带有 O_NONBLOCK 选项,在没有数据情况下,应该返回的是 -1,并设置errno为 EAGAIN 或者 EWOULDBLOCK

子衿沉夜

非阻塞模式下,没有数据返回值是-1,并且错误码是EAGAIN or EWOULDBLOCK。
打开App,查看更多内容
随时随地看视频慕课网APP