我正在尝试创建服务器/客户端应用程序,其中服务器将数据发送到客户端,客户端将数据发回。但由于某种原因,我无法让它工作,因为我不知道如何在不写数据的情况下检测非优美的断开连接(我无法写入数据,因为缓冲区将填充错误的数据,我不需要)。还有另一种方法吗?我正在使用TCP。
答案 0 :(得分:0)
您正在描述不可靠网络上TCP连接的行为。所以你需要使用其他协议。看看
答案 1 :(得分:0)
我不确定我是否完全理解这个问题,但您可以检查一下您的套接字是否仍然连接:
public bool IsSocketConnected(Socket socket) {
return !(socket.Poll(0, SelectMode.SelectRead) && socket.Available == 0) && socket.Connected;
}
答案 2 :(得分:0)
我用KeepAlive函数修复了它。