【问题标题】:Live monitoring of network connectivity status实时监控网络连接状态
【发布时间】:2015-05-03 20:42:11
【问题描述】:

最近一个新客户要求我开发一个 Windows 服务,该服务将监控他的服务器是否有互联网连接。当连接断开到Local Only 并备份到Internet Access 时,服务应该记录,如网络和共享中心所示。

我最初的想法是让服务每 5 分钟左右 ping 一次像 google 这样的网站,但我不知道如何检索 ping 的结果,所以我想我可以在其中编写一个 WebBrowser 控件并根据连接尝试的结果写入日志条目。

不过,这似乎也是一个相当不切实际的想法,所以任何人都可以提出最好的解决方法吗?

【问题讨论】:

    标签: vb.net networking network-programming


    【解决方案1】:

    由于您在 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
    

    【讨论】:

      【解决方案2】:

      看看this answerthis 和...

      您可能会使用 WinAPI 函数 InternetGetConnectedStateInternetCheckConnection

      您可以在pinvoke.net找到它们的正确声明

      【讨论】:

        【解决方案3】:

        这是一个旧线程...非常旧..但希望这可以帮助某人..

            If My.Computer.Network.Ping("192.168.0.254") Then
                'online
            Else
                'offline
            End If

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-09
          相关资源
          最近更新 更多