如何用socket判断网线断开
xyken 2008-10-28 07:38:42 为做一个网卡测试程序,我使用的是socket发送和接收数据包进行检测,对网线拨掉的检测我采用的是心跳方式,即:利用时钟控件每秒钟抓取一次连接,失败则表示网线断开如:
private void timer2_Tick(object sender, EventArgs e)
{
check();
check_close();
}
void check()
{
try
{
checkInfo = null;
checkInfo = new IPEndPoint(IPAddress.Parse ("10.12.8.207") , 6600);
checkSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream , ProtocolType.Tcp );
checkSocket.Bind(checkInfo);
}
catch
{
MessageBox.Show("网线拨除!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void check_close()
{
checkSocket.Close();
}
以上代码在网线拨除后可以抓取错误,但是它会过10s秒左右才会抓到错误,而我想实现网线一拨程序立即报错,不知各位大侠有何高见,请赐教.