我试图发现在给定的时间间隔之后是否在服务器上删除了TCP连接,并编写了以下代码;
var tcpClient = new TcpClient();
tcpClient.Client.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.KeepAlive, true);
tcpClient.Connect(Ip, Port);
var status = tcpClient.Connected ? "Connected" : "Failed to Connect";
if (connected)
{
Console.WriteLn(string.Format("Connected - Waiting for '{0}' to see if the connection is dropped", ConnectionDuration));
Thread.Sleep(ConnectionDuration);
status = tcpClient.Connected ? "Stayed Connected" : "Connection Dropped";
}
Console.WriteLn(string.Format("Connection Status: '{0}'", status);
使用此代码,如果最初建立连接,我将始终收到“保持连接”状态消息。
因为服务器在我们公司之外,所以不希望将数据写入套接字,是否有其他方法可以确定连接是否已被删除?
由于