Java 6 提供 isUp() 方法来检查网络接口是否启动并运行。
http://docs.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#isUp ()
有没有办法在 Java 5 中检查相同的内容?
Java 6 提供 isUp() 方法来检查网络接口是否启动并运行。
http://docs.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#isUp ()
有没有办法在 Java 5 中检查相同的内容?
如果您不介意使用外部库,请查看Sigar
您可以获取网络接口状态,其中包括接收到的字节数或发送的字节数等统计信息。
唯一的后备方案是带有 java 绑定的 C 库,因此您需要在运行时为您的架构提供特定版本
查看是否有任何资源可用的最佳方法是尝试使用它,从 NIC 到数据库再到世界另一端的 Web 服务器或月球。任何其他技术都可能导致时间问题,即在您测试时它是向上的,而在您使用它时它是向下的,或者相反。当你尝试使用它时,无论如何你都必须处理失败的情况,因为它们通常是检查异常:为什么要两次编写相同的代码?
类NetworkInterface
有一个方法getInetAddresses()
,提供一个InetAddress
-es 的枚举。假设每个适配器都支持 IPv4,您会在Inet4Address
其中找到一个。如果接口关闭,它将通过方法传递“0.0.0.0”作为地址toString()
。如果适配器已启动但未链接(未分配动态地址),它将具有模式“169.xxx”的地址。