我的Android客户端和服务器都在我的本地PC上运行。我的客户端是eclipse中的一个活动(项目),而我的服务器是同一台PC中的一个jar文件。我使用模拟器作为我的客户端,并使用Wi-Fi或有时LAN连接到服务器。我使用ipconfig
获取的IP配置我的客户端,因此它是本地环境。 (当通过Wi-Fi连接时,我使用WLAN IP和LAN,我使用eth0
)。
我正在监控客户端发送和接收的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
始终如此?是因为客户端(模拟器)和服务器都在同一台PC上?
答案 0 :(得分:1)
我刚刚找到了答案。返回的值-1
表示模拟器中的TrafficStats
为UNSUPPORTED
。 TrafficStats functions always return -1中的类似讨论也是如此。