检查PC是否在LAN上连接

时间:2010-03-13 05:54:10

标签: c# .net networking

我想问两个问题,如果有人可以回复,我会感激不尽。

  1. 如何检查(使用C#)PC是否连接到LAN?

  2. 如何检查(使用C#)我的电脑是否已连接到局域网

3 个答案:

答案 0 :(得分:7)

尝试

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()

答案 1 :(得分:3)

您想使用Ping检查PC是否已连接到LAN。这是一个示例:

var ping = new Ping();
var options = new PingOptions { DontFragment = true };

//just need some data. this sends 10 bytes.
var buffer = Encoding.ASCII.GetBytes( new string( 'z', 10 ) );
var host = "127.0.0.1";

try
{
    var reply = ping.Send( host, 60, buffer, options );
    if ( reply == null )
    {
        MessageBox.Show( "Reply was null" );
        return;
    }

    if ( reply.Status == IPStatus.Success )
    {
        MessageBox.Show( "Ping was successful." );
    }
    else
    {
        MessageBox.Show( "Ping failed." );
    }
}
catch ( Exception ex )
{
    MessageBox.Show( ex.Message );
}

要检查您自己的计算机是否已连接,您可以对您知道应解决的地址执行相同的操作,例如域控制器。

答案 2 :(得分:1)

使用System.Net.NetworkInformation命名空间的ping工具。有关详情,请参阅this link