两个socket在通讯的时侯,如果中断了,
: 比方说拔网线等,这时候写socket不出错,
: 但是socket状态可能已经变成TIME_WAIT或CLOSE_WAIT,
: 用netstat可以看到,我想在程序中判断这个socket状态,
: 便于及时知道socket已经发生异常,有什么办法
: 比方说拔网线等,这时候写socket不出错,
: 但是socket状态可能已经变成TIME_WAIT或CLOSE_WAIT,
: 用netstat可以看到,我想在程序中判断这个socket状态,
: 便于及时知道socket已经发生异常,有什么办法
if (s.Poll(-1, SelectMode.SelectRead))
{
int nRead = s.Receive();
if (nRead == 0)
{
//socket连接已断开
}
}
声明一下。我用的是 c# 2005
其他方法正在实验中!
当然也可以自己来控制不停的发送小的数据包来确定Socket是否连接正常,