我正在开发一个需要检查不同网络接口(如 wifi、lan、dongles 等)信号强度的软件。我想测量(绝对或相对)信号强度并找出所有强度大于的网络接口的 ipaddress一些阈值。我怎样才能在 JAVA 中做到这一点?
问问题
339 次
1 回答
2
http://www.java2s.com/Open-Source/Android/UnTagged/mytracks/com/google/android/apps/mytracks/signalstrength/SignalStrengthListenerCupcake.java.htm有一些适用于 Android 的代码。不过,我无法审查它,因为我使用 iOS 比使用 Android 更多。
对于桌面,没有纯 Java 解决方案,因为 JVM 没有公开这些网络信息。如果您必须走这条路,您有两个基本选择:1)通过 java 调用命令行并从另一个命令中提取数据,或者 2)使用 JNI。这两种方法都不是可移植的,它们都需要相当大的努力。Linux ( http://www.cyberciti.biz/tips/linux-find-out-wireless-network-speed-signal-strength.html )可用的 1 的变体是解析文件 '/proc/net /无线'来自Java。
很抱歉不能给你更好的消息。您可以尝试与 Oracle 一起赞助 RFC,它确实让我觉得添加到 JVM 网络库的有用信息。
于 2013-03-17T20:04:07.010 回答