【问题标题】:Checking whether the PC is connected on LAN or not检查PC是否连接在局域网上
【发布时间】:2010-03-13 05:54:09
【问题描述】:

我想问两个问题,如果有人能回复我将不胜感激。

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

  2. 如何检查(使用 C#)我的 PC 是否连接到 LAN 上

【问题讨论】:

标签: c# .net networking


【解决方案1】:

试试

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()

【讨论】:

  • 不是说你有网络连接吗?
【解决方案2】:

您想使用 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 );
}

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

【讨论】:

  • @Thomas 此代码发送 ping 成功,即使我从我的电脑上拔下网线
  • 那是因为我使用 127.0.0.1 只是为了说明。您需要将该 IP 替换为网络上的一个 IP,例如域控制器。
【解决方案3】:

使用 System.Net.NetworkInformation 命名空间的 ping 工具。更多请参考this link

【讨论】:

    猜你喜欢
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多