在 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 时在拆分视图上接收应用程序之间焦点更改的通知

如何在前台 iOS Swift 3.0 中接收推送通知?

如何在后台接收 iOS 4 中的 ALAssetsLibrary 更改通知

Mobilefirst 8.0 推送通知

应用程序处于非活动状态时无法接收静默通知 iOS

使用通知中心在 Realm Swift 3 中保存 UIButton 更改状态