在 Java 中接收 eth 链接状态通知的更改(在 Linux 中)
Posted
技术标签:
【中文标题】在 Java 中接收 eth 链接状态通知的更改(在 Linux 中)【英文标题】:Receive change of eth link status notification in Java (in Linux) 【发布时间】:2014-02-27 07:17:42 【问题描述】:我有一个 Java 应用程序,它需要了解网络接口(例如 eth0)的链接状态的变化。以前,应用程序通过轮询来完成,但由于我讨厌轮询,所以我试图找到一种方法来获得内核的通知。
我的一个想法是使用 D-Bus 库,通过它连接并接收通知。但是,dbus-java-2.7 似乎是旧的(2009 年)并且没有真正维护。有谁知道2.7版本是否处于工作状态,是否可以可靠使用?或者还有其他选项可以接收这些通知吗?
【问题讨论】:
【参考方案1】:为什么讨厌投票?您可以使用 java.net.NetworkInterface.isUp()
指定一个线程定期检查而且这个线程可以发出网络接口状态通知。
【讨论】:
我讨厌轮询,因为它不是一个优雅的解决方案。如果没有其他方法,我会诉诸于此,但在此之前,我正在尝试寻找其他替代方法。旁注:您的回答并不是对我问题的真正回答,也许应该是评论?以上是关于在 Java 中接收 eth 链接状态通知的更改(在 Linux 中)的主要内容,如果未能解决你的问题,请参考以下文章
使用 SwiftUI 时在拆分视图上接收应用程序之间焦点更改的通知