У меня есть клиент и сервер Android, которые работают на моем локальном ПК. Мой клиент - это действие (проект) в eclipse, а мой сервер - файл jar на том же ПК. Я использую эмулятор как мой клиент, и я подключаюсь к серверу с помощью Wi-Fi или иногда локальной сети. Я настраиваю свой клиент с IP-адресом, полученным с помощью ipconfig
, поэтому это локальная среда. (При подключении через Wi-Fi я использую WLAN IP и для LAN, я использую eth0
).Использование сети мониторинга Android
Я слежу за rx
, tx
данные, отправленные и полученные клиентом. Я использую это:
int uid = android.os.Process.myUid();
long tx=TrafficStats.getUidTxBytes(uid);
long rx=TrafficStats.getUidRxBytes(uid);
Я всегда получаю эту rx
и tx
значения, как -1
каждого.
Я также использую этот кусок кода:
String info = "";
info += "Mobile Interface:\n";
info += ("\tReceived: " + TrafficStats.getMobileRxBytes() + " bytes/" + TrafficStats.getMobileRxPackets() + " packets\n");
info += ("\tTransmitted: " + TrafficStats.getMobileTxBytes() + " bytes/" + TrafficStats.getMobileTxPackets() + " packets\n");
info += "All Network Interface:\n";
info += ("\tReceived: " + TrafficStats.getTotalRxBytes() + " bytes/" + TrafficStats.getTotalRxPackets() + " packets\n");
info += ("\tTransmitted: " + TrafficStats.getTotalTxBytes() + " bytes/" + TrafficStats.getTotalTxPackets() + " packets\n");
Log.d("hi", "Netwrk" + info);
Я получаю TrafficStats.getMobileRxBytes()
и TrafficStats.getMobileTxBytes()
в 0
в то время как TrafficStats.getTotalRxBytes()
И TrafficStats.getTotalTxBytes()
как -1
каждый.
Почему это -1
всегда? Это потому, что и клиент (эмулятор), и сервер находятся на одном ПК?