我有一个情况 -
在已建立状态下A - > B之间存在TCP连接。 A向B发送几个字节,然后自行终止。 B既不执行send()或recv()。
我想知道是否有办法知道连接已断开。
我知道,对于断开的连接,recv()返回'0'。但是在上面的情况中 - A已经向B发送了一些数据,所以第一个(一个或多个)recv()会返回我发送的数据,最后我会得到recv()== 0.但我想了解一下断开连接,无需从recv-buffer中抽出所有数据。
谢谢, 和Sandeep
答案 0 :(得分:0)
无论您想要检查实时连接,都可以尝试send(fd, buf, 0, 0)
,即发送0字节的数据。如果连接中断,它将失败。