2011-06-20 36 views
1

我正在開發一款軟件,我希望檢查使用我的軟件的PC是否具有互聯網連接功能。 意思是我使用webservices &,web服務運行在遠程機器上的管理端,通過使用它我允許用戶訪問遠程數據庫。它應該適用於所有類型的互聯網連接,如LAN,WiFi,撥號或用戶正在使用的任何類型。如何檢查PC的互聯網連接?

如何做到這一點?

我想從你們所有人那裏得到一個好處。如果我使用下面的代碼,那麼它是否會滿足我的所有要求?

using Microsoft.VisualBasic.Devices; 
Computer oComputer = new Computer(); 
if (oComputer.Network.IsAvailable == true) 
{ 
MessageBox.Show("Internet connection available"); 
} 
else 
{ 
MessageBox.Show("Internet connection not available"); 
} 

謝謝。

回答

3

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()應該得到你想要的。

+0

我不確定這是否足夠。我相信這意味着你有一個網絡接口(卡,撥號......)。這並不意味着PC可以訪問互聯網。 – cdkMoose

+1

然後在後面添加if(new System.Net.NetworkInformation.Ping()。Send(「myinternethost.com」)。Status == IPStatus.Success)'以查看是否存在與外部主機的連接。 –

+0

應該這樣做,最重要的是可以確認訪問正確的服務器。根據OP部署的環境類型,可能會限制訪問互聯網。 – cdkMoose

0

測試互聯網連接的有效方法是使用InternetGetConnectedState() WinAPI。但是,如果您確實有自己的Web服務正在嘗試連接,那麼您可以隨時向服務添加一個輔助ping方法,該方法在所有情況都可以的情況下返回布爾值true。

+0

感謝您的回覆。但我不知道幫手ping方法。你幫我嗎? – Priyanka

0

有人問了simillar的問題,你應該在提問之前檢查過它。