2013-03-16 42 views
0

我正在開發一個需要檢查不同網絡接口如wifi,lan,dongles等信號強度的軟件。我想測量(絕對或相對)信號強度並找出所有具有強度的網絡接口的ip地址大於某個閾值。我怎樣才能在JAVA中做到這一點?如何在java中同時使用多個網絡接口?

+0

你不能。 Java的網絡API在硬件層之上運行。 – parsifal 2013-03-16 19:20:45

+0

我想你需要使用C代碼來做到這一點 – Goaler444 2013-03-16 20:32:08

+0

Android或桌面/服務器? – 2013-03-17 09:57:28

回答

1

http://www.java2s.com/Open-Source/Android/UnTagged/mytracks/com/google/android/apps/mytracks/signalstrength/SignalStrengthListenerCupcake.java.htm有一些適用於Android的代碼。我無法審查它,因爲我比iOS更多地使用iOS。

對於桌面,沒有純Java解決方案,因爲JVM沒有公開此網絡信息。如果你不得不走上這條路,你有兩個基本的選擇1)通過java調用命令行並從另一個命令中提取數據或2)去JNI。這兩種方法都不便攜,而且都需要相當的努力。 1變體可用在Linux(http://www.cyberciti.biz/tips/linux-find-out-wireless-network-speed-signal-strength.html)是解析從Java文件「的/ proc /淨/無線」。

對不起,不能給你更好的消息。您可以嘗試使用Oracle贊助RFC,它確實會將我作爲有用的信息添加到JVM網絡庫中。

相關問題