Мониторинг состояния сетевого подключения в реальном времени - PullRequest
0 голосов
/ 26 июля 2010

Новый клиент недавно попросил меня разработать службу Windows, которая будет отслеживать, имеет ли его сервер подключение к Интернету.Служба должна регистрироваться, когда соединение падает до Local Only и обратно до Internet Access, как показано в Центре управления сетями и общим доступом.

Моя первоначальная идея заключалась в том, чтобы служба пинговала веб-сайт, например, Google, каждые 5 минут.или около того, но я не знаю, как получить результаты пинга, поэтому я подумал, что мог бы закодировать в него элемент управления WebBrowser и записывать записи журнала на основе результатов попыток соединения с этого.

Это также кажется довольно непрактичной идеей, поэтому кто-нибудь может предложить лучший способ сделать это?

Ответы [ 3 ]

1 голос
/ 26 июля 2010

Посмотрите на этот ответ , это и ...

Возможно, вы можете использовать функции WinAPI InternetGetConnectedState и InternetCheckConnection

Правильные объявления о них вы можете найти по адресу pinvoke.net

1 голос
/ 26 июля 2010

Поскольку вы работаете в 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
0 голосов
/ 03 мая 2015

Это старая ветка ... Очень старая .. Но надеюсь, это кому-то поможет ..

    If My.Computer.Network.Ping("192.168.0.254") Then
        'online
    Else
        'offline
    End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...