tcp/ socket 網(wǎng)絡編程,在運行程序的時候,就已經(jīng)判斷是否連接
呼倫貝爾網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選成都創(chuàng)新互聯(lián)。
如果是數(shù)據(jù)庫編程,可以用ping 服務器的IP,用返回的值來判斷是否連接
不過我用vb.net 2013
If?My.Computer.Network.IsAvailable?Then
'如果可用
Else
'不可用
End?If
你這段代碼可以獲得該主機名下的所有ip,每個ip地址都是有類型簇的,可以區(qū)別本地地址和網(wǎng)絡地址、ip6地址。
你獲取索引為0的ip,不一定是正確的網(wǎng)絡地址,它有時順序在中間,在后面。
應該獲取所有ip,再通過ip地址簇類型區(qū)分
判斷連接本身有一個函數(shù),不過有時沒聯(lián)網(wǎng)也是真。
可以用ping,ping百度、ping訪問速度快、不經(jīng)常維護斷線的網(wǎng)絡主機。
Microsoft.VisualBasic.Devices.Network.IsAvailable As Boolean
生成實例后可以通過此屬性來獲取是否聯(lián)網(wǎng)的值,True代表已聯(lián)網(wǎng),F(xiàn)alse代表沒有聯(lián)網(wǎng)
Microsoft.VisualBasic.Devices.Network.NetworkAvailabilityChanged(ByVal Object, ByVal Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs)
該事件是在電腦斷開/連上互聯(lián)網(wǎng)是引發(fā)的
其中:
e.IsNetworkAvailable
的功能同Microsoft.VisualBasic.Devices.Network.IsAvailable
實例:
Dim?netListener?As?New?Microsoft.VisualBasic.Devices.Network?'生成實例
If?netListener.IsAvailable?=?True?Then
MsgBox("已聯(lián)網(wǎng)")
Else
MsgBox("未聯(lián)網(wǎng)")
End?If
NetworkAvailabilityChanged實例:
WithEvents?netListener?As?New?Microsoft.VisualBasic.Devices.Network?'生成實例
Private?Sub?OnNetworkChanged(ByVal?Object,?ByVal?Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs)Handles?netListener.NetworkAvailabilityChanged
If?e.IsNetworkAvailable?=?True?Then
MsgBox("已聯(lián)網(wǎng)")
Else
MsgBox("未聯(lián)網(wǎng)")
End?If
End?Sub
既然從網(wǎng)上找的實例沒問題,也許就是調(diào)用的時候沒出來或者在檢測網(wǎng)卡當中出現(xiàn)了問題。