使用Java获取网络状态

时间:2015-01-28 14:50:32

标签: java network-programming

我建造了一个自动驾驶RC-Car,如果没有连接到wifi,它应该立即停止。

是否有可能通过Java获取网络连接的状态? (已连接/未连接)

我想,我可以每秒ping主机,直到连接丢失。但我希望,有更好的方法可以做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:0)

不幸的是,我不知道如何通过事件获得有关连接状态更改的通知,因此您必须使用轮询。

最简单的方法可能是定期调用InetAddress.isReachable()(记录here)。它(通常)使用引擎盖下的ping,所以它应该给你一个相当快的答案。

或者,您可以使用专用系统调用,例如Windows InternetGetConnectedState。使用JNI调用它并返回一个布尔值。