下面的代码可以实现当TCP服务端断开链接的时候,客户端即自己断开链接,但是如果直接断了网线无法检测,
如何检测网线被拔掉,还得进一步实验。
private Timer SocketDetecterTimer= null;
TimerCallback detecterDelegate = new TimerCallback(DetecterCallback);
SocketDetecterTimer = new Timer(detecterDelegate, null, 500, 2000);
private void DetecterCallback(object stateInfo)
{
if (socketClient.sock.poll(500, selectMode.SelectRead))
{
this.ledDisp.connectStatus = true;
}
else
{
this.ledDisp.connectStatus = false;
Disconnect(true);
if (socketDetecterTimer != null)
{
socketDetecterTimer.Dispose();
}
}
}