当前位置: 技术问答>linux和unix
socket如何判断接受缓冲区是否已满
来源: 互联网 发布时间:2015-10-15
本文导语: 出现这样的情况 往一个socket里面写数据,对方没有收,只是把缓冲区写满了 怎么判断这样的情况请教各位打侠 | 阻塞型socket udp 会返回错误 tcp 会阻塞 非阻塞型socket 返回EWOULBLOCK | ...
出现这样的情况
往一个socket里面写数据,对方没有收,只是把缓冲区写满了
怎么判断这样的情况请教各位打侠
往一个socket里面写数据,对方没有收,只是把缓冲区写满了
怎么判断这样的情况请教各位打侠
|
阻塞型socket
udp 会返回错误
tcp 会阻塞
非阻塞型socket
返回EWOULBLOCK
udp 会返回错误
tcp 会阻塞
非阻塞型socket
返回EWOULBLOCK
|
udp 如果不收,缓冲区满了,余下的包会被丢弃。
阻塞型TCP线程会被阻塞。不阻塞型TCP会返回:ENOBUFS,
EWOULBLOCK 或 EAGAIN只能说明发送没有成功,但是对方没有断开而已,如果为-1 SOCKET已被关闭了
阻塞型TCP线程会被阻塞。不阻塞型TCP会返回:ENOBUFS,
EWOULBLOCK 或 EAGAIN只能说明发送没有成功,但是对方没有断开而已,如果为-1 SOCKET已被关闭了