gpt4 book ai didi

android - 如何测量android wifi连接中的上传/下载速度和延迟

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:42 26 4
gpt4 key购买 nike

我需要一些 api 或操纵代码,通过它们我可以测量上传/下载速度以及来自 android 应用程序的 wifi 连接延迟。

最佳答案

您使用的是 2.2 (Froyo) 或更高版本吗?

如果是这样,请在您的应用程序中导入流量统计信息,并在您的应用程序使用互联网时添加以下内容。

下载/上传:

long BeforeTime = System.currentTimeMillis();
long TotalTxBeforeTest = TrafficStats.getTotalTxBytes();
long TotalRxBeforeTest = TrafficStats.getTotalRxBytes();

/* DO WHATEVER NETWORK STUFF YOU NEED TO DO */

long TotalTxAfterTest = TrafficStats.getTotalTxBytes();
long TotalRxAfterTest = TrafficStats.getTotalRxBytes();
long AfterTime = System.currentTimeMillis();

double TimeDifference = AfterTime - BeforeTime;

double rxDiff = TotalRxAfterTest - TotalRxBeforeTest;
double txDiff = TotalTxAfterTest - TotalTxBeforeTest;

if((rxDiff != 0) && (txDiff != 0)) {
double rxBPS = (rxDiff / (TimeDifference/1000)); // total rx bytes per second.
double txBPS = (txDiff / (TimeDifference/1000)); // total tx bytes per second.
testing[0] = String.valueOf(rxBPS) + "B/s. Total rx = " + rxDiff;
testing[1] = String.valueOf(txBPS) + "B/s. Total tx = " + txDiff;
}
else {
testing[0] = "No uploaded or downloaded bytes.";
}

现在您有 testing[0] 是您的下载速度(大致),testing[1] 是您的上传速度(大致)

只要确保您只在实际进行网络通信时才调用此代码,否则时间会影响您的结果。

就延迟而言,没有什么比这更好的了。我写的这个未经测试,但应该可以正常工作,但可能有更好的解决方案可用。

延迟:

String host = YOUR_HOST
HttpGet request = new HttpGet(host);
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 3000);
HttpClient httpClient = new DefaultHttpClient(httpParameters);

for(int i=0; i<5; i++) {
long BeforeTime = System.currentTimeMillis();
HttpResponse response = httpClient.execute(request);
long AfterTime = System.currentTimeMillis();
Long TimeDifference = AfterTime - BeforeTime;
time[i] = TimeDifference
}

注意:请记住,这并不是说您使用时的延迟,而是让您了解您在特定时间段内使用的网络所经历的延迟。此外,这是请求和响应时间,而不是像“ping”通常那样的请求到达网络时间。

关于android - 如何测量android wifi连接中的上传/下载速度和延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5193518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com