recv和recv from ,send和sendto 在阻塞和非阻塞的情况下的错误码
来源:互联网 发布:php 去掉数组中的空值 编辑:程序博客网 时间:2024/05/17 08:20
recv:
阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,
特别:非阻塞模式下返回 值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况 下认为连接是正常的,继续接收。
只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要 循环读取。
write:
阻塞与非阻塞write返回值没有区分,都是 <0:出错,=0:连接关闭,>0发送数据大小,
特别:非阻塞模式下返回值 <0时并且 (errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的, 继续发送。
只是阻塞模式下write会阻塞着发送数据,非阻塞模式下如果暂时无法发送数据会返回,不会阻塞着 write,因此需要循环发送。
read:
阻塞与非阻塞read返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,
特别:非阻塞模式下返回 值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况 下认为连接是正常的,继续接收。
只是阻塞模式下read会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要 循环读取。
send:
阻塞与非阻塞send返回值没有区分,都是 <0:出错,=0:连接关闭,>0发送数据大小,
特别:非阻塞模式下返回值 <0时并且 (errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的, 继续发送。
只是阻塞模式下send会阻塞着发送数据,非阻塞模式下如果暂时无法发送数据会返回,不会阻塞着 send,因此需要循环发送。
0 0
- recv和recv from ,send和sendto 在阻塞和非阻塞的情况下的错误码
- 关于SOCKET的阻塞非阻塞recv和send
- 关于SOCKET的阻塞非阻塞recv和send
- 套接字的阻塞和非阻塞send/recv
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- recv send 阻塞和非阻塞
- [HZWER NOIP模拟题][杂题][防骗题]数列
- 快速排序
- Jfreechart 实现报表乱码
- 【PAT甲级】1055. The World's Richest (25)
- 如何在CSDN博客中插入图片
- recv和recv from ,send和sendto 在阻塞和非阻塞的情况下的错误码
- git中的错误
- IPv4 地址
- mac Hbuilder 无法打开的解决方案
- mysql无法插入中文字符或者报错SQLExeception
- 【bzoj1084】【洛谷P2331】 【SCOI2005】 最大子矩阵
- 【egret】 输入文本的使用
- for循环版vacation
- Hive结构