我正在开发一种软件,需要检查不同网络接口的信号强度,如wifi,局域网,加密狗等。我想测量(绝对或相对)信号强度,并找出所有网络接口的ipaddress强度大于某个阈值。我怎么能在JAVA中做到这一点?
答案 0 :(得分: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 / wireless'来自Java。
很抱歉没能给你更好的消息。您可以尝试使用Oracle赞助RFC,它确实将我作为添加到JVM网络库的有用信息。