2

Java 6 提供 isUp() 方法来检查网络接口是否启动并运行。

http://docs.oracle.com/javase/6/docs/api/java/net/NetworkInterface.html#isUp ()

有没有办法在 Java 5 中检查相同的内容?

4

3 回答 3

1

如果您不介意使用外部库,请查看Sigar

您可以获取网络接口状态,其中包括接收到的字节数或发送的字节数等统计信息。

唯一的后备方案是带有 java 绑定的 C 库,因此您需要在运行时为您的架构提供特定版本

于 2012-06-12T08:51:35.543 回答
0

查看是否有任何资源可用的最佳方法是尝试使用它,从 NIC 到数据库再到世界另一端的 Web 服务器或月球。任何其他技术都可能导致时间问题,即在您测试时它是向上的,而在您使用它时它是向下的,或者相反。当你尝试使用它时,无论如何你都必须处理失败的情况,因为它们通常是检查异常:为什么要两次编写相同的代码?

于 2012-06-12T10:55:18.123 回答
0

NetworkInterface有一个方法getInetAddresses(),提供一个InetAddress-es 的枚举。假设每个适配器都支持 IPv4,您会在Inet4Address其中找到一个。如果接口关闭,它将通过方法传递“0.0.0.0”作为地址toString()。如果适配器已启动但未链接(未分配动态地址),它将具有模式“169.xxx”的地址。

于 2022-03-03T10:36:13.487 回答