新客戶最近要求我開發一項Windows服務,以監控他的服務器是否具有互聯網連接。如網絡和共享中心所示,服務應該記錄連接狀態爲Local Only
並備份到Internet Access
。網絡連接狀態的實時監控
我最初的想法是讓服務每隔5分鐘左右ping一個網站,像谷歌,但我不知道如何檢索ping的結果,所以我想我可以編寫一個WebBrowser控件進入它並根據連接嘗試的結果寫入日誌條目。
雖然這也看起來像一個相當不切實際的想法,所以任何人都可以提出最好的方法來解決這個問題嗎?
新客戶最近要求我開發一項Windows服務,以監控他的服務器是否具有互聯網連接。如網絡和共享中心所示,服務應該記錄連接狀態爲Local Only
並備份到Internet Access
。網絡連接狀態的實時監控
我最初的想法是讓服務每隔5分鐘左右ping一個網站,像谷歌,但我不知道如何檢索ping的結果,所以我想我可以編寫一個WebBrowser控件進入它並根據連接嘗試的結果寫入日誌條目。
雖然這也看起來像一個相當不切實際的想法,所以任何人都可以提出最好的方法來解決這個問題嗎?
由於您在windows中工作,所以您可以嘗試。 http://www.go4expert.com/forums/showthread.php?t=2557
對於linux來說,一個簡單的bach腳本將完成這項工作。
#!/bin/bash
WGET="/usr/bin/wget"
$WGET -q --tries=10 --timeout=5 http://www.google.com -O /tmp/index.google &> /dev/null
if [ ! -s /tmp/index.google ];then
echo "no"
else
echo "yes"
fi
看看this answer,this和...
也許你可以使用WinAPI的funcs中InternetGetConnectedState和InternetCheckConnection
他們的正確的聲明,你可以找到在pinvoke.net
這是一個古老的線程...很老..但希望這可以幫助別人..
If My.Computer.Network.Ping("192.168.0.254") Then
'online
Else
'offline
End If