2010-03-13 33 views
7

我想問2個問題,如果有人可以回覆,我會很感激。檢查PC是否連接到局域網

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

  2. 如何檢查(使用C#)我的電腦連接在局域網或不

+1

請參閱http://stackoverflow.com/questions/314213/checking-network-status-in-c - 如果這並不能完全回答你的問題,你可能想編輯它以使問題#1和#2之間的區別變得明顯...... – mdb 2010-03-13 05:57:50

回答

1

使用System.Net.NetworkInformation命名空間平安設施。欲瞭解更多請參考this link

3

您想使用Ping檢查PC是否連接到局域網。這裏有一個例子:

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); 
} 

要檢查,如果你擁有機器連接,你可以做同樣的,你知道應該解決像說的域控制器的地址。

+1

@Thomas即使我從我的PC刪除LAN電纜,此代碼也能成功發送ping ping – HotTester 2010-03-13 06:09:40

+2

這是因爲我僅將127.0.0.1用於說明目的。您需要用網絡上的IP替換該IP,例如說一個域控制器。 – Thomas 2010-03-13 16:57:24

7

嘗試

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable() 
+0

是不是應該說,如果你有任何網絡連接? – lentinant 2015-09-11 13:33:45