⾮阻塞socket中read、write返回值
read返回值
>0 读取数据的长度
=0 接收到对端发送的FIN,表⽰对端的写端关闭。
<0 如果errno=EINTR。收到信号并从信号处理函数返回时,慢系统调⽤会返回并设置errno为EINTR,应该重新调⽤read。 如果errno=EAGAIN。表⽰当前暂时没有数据可读,应该稍后读取。
其它⼀般表⽰出错。
write返回值
>0 接收数据的长度
<0 如果errno=EINTR。收到信号并从信号处理函数返回时,慢系统调⽤会返回并设置errno为EINTR,应该重新调⽤write。 如果errno=EAGAIN。可能是缓冲区已满,应该稍后发送。
其它⼀般表⽰出错。write的返回值
ps:如果向已经关闭的对端调⽤write,系统会向程序发送SIGPIPE信号,该信号默认会退出程序,应该捕获该信号。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论