【问题标题】:Knowing when machine is connected to the internet [duplicate]知道机器何时连接到互联网[重复]
【发布时间】:2012-02-09 04:16:21
【问题描述】:

我正在使用 java,所以我需要一个尽可能独立于操作系统的方法。我所拥有的是一个程序,只要打开计算机就会运行。我遇到的问题是当我需要通过互联网发送/接收文件时。我尝试在 Windows 的启动文件夹和 linux 的 rc0.d 中放置一个脚本,它们工作正常,但前提是 wifi 已经连接。我需要一种方法,仅在 wifi 完全连接并且可以正常运行后才运行该程序。我正在考虑使用类似 ping 功能来查看服务器何时启动,但我认为用户在实际连接互联网之前不会乐于在他们的桌面上看到命令提示框。 欢迎任何建议。

【问题讨论】:

  • 您还需要考虑防火墙、阻止进程“未经授权”的网络访问的防病毒软件等。
  • “我需要一种方法,仅在 wifi 完全连接且功能正常后才运行程序” 鉴于用户可能会在应用后立即停止网络连接.启动时,在每个网络访问周围try/catch 更有意义。

标签: java wireless


【解决方案1】:

理想情况下,您希望在互联网连接可用时收到通知,以便您做出响应,但这可能取决于操作系统。或者,只需定期对 Google 或其他东西进行 DNS 查找。如果它成功,你知道你有一个很好的连接。我确信有一种方法可以在 Java 中轻松完成。

【讨论】:

    【解决方案2】:

    InetAddress 可能是您的一个选择:

    http://docs.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable

    也许在一个线程中使用它,它会定期检查连接性,必要时会在一段时间后超时,并给用户一些反馈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      相关资源
      最近更新 更多