小屋創作

日誌2012-10-26 18:09

【C#】如何確認網路是否連線正常 (簡易)

作者:落葉無聲

類型: C#學習筆記

目的: 確認網路是否連線正常 (簡易方法).

參考資料: MSDN Check Internet Connection



說明

寫和網路相關的程式時, 最重要的第一步驟應該是檢查連線是否正常. 爬了許多文章後發現, 方法有很多很多, 但有些真的太複雜了, 所以還在學習階段的我, 直接放棄.

這裡和大家分享一個簡單的做法, 就是直接確認某某網站(例如Google和Yahoo)是否存在, 因為我相信當這些知名網站如果無法順利進入的話, 連線網路也算是有問題了. . .

程式碼(方法)
    
//命名空間要增加
using  System.Net.NetworkInformation;

bool ConnectGoogleTW()
{
    //Google網址
    string googleTW = "www.google.tw";       
    //Ping網站
    Ping p = new Ping();     
    //網站的回覆
    PingReply reply;    
        
    try
    {
        //取得網站的回覆
        reply = p.Send(googleTW);
        //如果回覆的狀態為Successreturn true
        if (reply.Status == IPStatus.Success) { return true; }
        
    }
    
    //catch這裡的Exception, 是有可能網站當下的某某狀況造成, 可以直接讓它傳回false.
    //或在重覆try{}裡的動作一次
    catch { return false; }
    
    //如果reply.Status !=IPStatus.Success, 直接回傳false
    return false;
}

//在Form Load上直接執行上面的方法()
private void Form1_Load(object sender, EventArgs e)
    {
        ConnectGoogleTW();
        if (ConnectGoogleTW()== true){MessageBox.Show("連線成功");}
        else{MessageBox.Show("連線失敗");}
    }



後記

其實為了保險起見我在Form Load時, 是確認二個知名網站(Google和Yahoo). 所以當兩個網站都不能連線時, 才會顯示"連線失敗"



小屋內關於電腦關機程式文章連結
小屋內關於鬧鐘程式文章連結
小屋內關於C#的文章



7

5

LINE 分享

相關創作

C# MongoDB Atlas 雲端資料庫建置與教學

[量子位]沒有顯卡的年代,這群程式員用4行代碼優化遊戲

promise.all 有一個失敗就不會往下做其他promise了,如何無痛讓promise做事 - promise.all的陷阱

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】