【问题标题】:Who to ping to know if my application can access the Internetping 谁知道我的应用程序是否可以访问 Internet
【发布时间】:2012-05-04 13:21:52
【问题描述】:

我想制作一个开源应用程序,它应该知道它是否可以访问外部世界(即互联网)。它可能因各种原因被阻止访问 Internet,例如未配置代理或来自无线网络的烦人浏览器身份验证。

是否有某种服务可以 ping 以查看我是否可以访问 Internet,或者有什么建议或常见做法来验证它?我知道我可以ping Google,但我更愿意使用某些特定服务或采用最佳做法。

【问题讨论】:

  • 如果它需要访问互联网上的某个站点,请尝试访问它。通过选择要 ping 的特定站点,您真正可以验证的只是验证它可以访问 ping 站点,而不是您实际需要访问的任何资源。
  • @Wooble 的重点是:它不需要访问任何资源。我的应用程序应该发现计算机是否在线,以便它可以向用户询问更多配置信息。

标签: networking proxy wifi ping


【解决方案1】:

正如您自己所说:您只是想知道是否可以通过 ping 访问 Internet。 ping 不会给您带来比成功更多的回报,所以我看不出您可以获得什么样的附加服务。 如前所述,您可以使用 Google。我的猜测是你应该选择一些安全的东西,即使他们有问题,你也知道你会得到答案:那么有什么比 ping Google 更好的呢?如果有互联网连接,那将比什么都好。

如果您要获取有关您的连接(延迟、位置或其他)的更多信息,您可以考虑使用特定服务,但在这里 ping Google 似乎是最好的。

【讨论】:

    【解决方案2】:

    最佳做法是 ping(或以其他方式建立连接)到您支付的服务

    您不应让其他方承担接收您的“网络启动”探测的费用 - 这是网络滥用的一种形式。

    参见例如http://en.wikipedia.org/wiki/NTP_server_misuse_and_abuse

    【讨论】:

    • 这是我问它的原因之一:对我来说,很明显我应该使用我支付的服务,但我无法为我的开源项目提供服务。我期待有人会在 OpenDNS 模型中提供类似的东西,或者 IP 会在这种情况下提供某种工具,但现在这似乎不太可能。
    【解决方案3】:

    您可以让您的应用程序请求一个网站。这是一个简单的方法。 Telnet www.google.com 80 获取 /

    响应将是网站的 HTML。

    一旦你启动并运行,你可以让应用 ping 你项目网站的 IP 并请求页面。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 1970-01-01
      • 2012-04-20
      • 2014-08-30
      • 2011-10-14
      • 1970-01-01
      • 2020-04-26
      • 2022-11-04
      • 1970-01-01
      相关资源
      最近更新 更多