gpt4 book ai didi

java - 在 Android 中测量 DHCP 时间

转载 作者:行者123 更新时间:2023-11-30 01:31:09 25 4
gpt4 key购买 nike

在我的论文中,我需要测量在每个阶段连接到 WiFi AP 需要多长时间。

我可以使用 SUPPLICANT_STATE_CHANGED_ACTION 轻松测量所有内容,但我无法弄清楚如何测量获取 DHCP 信息所需的时间。

我真的需要以一定的精度知道 android 设备何时获得新 IP。我试过使用 CONNECTIVITY_ACTION 并在 BroadcastReceiver 内部检查 IP 地址,但它至少关闭了 1 秒,所以不太精确。

如果相关的话还有一件事:我将在其上进行测试的 AP 没有互联网连接。

知道如何做到这一点吗?

提前致谢

最佳答案

我设法通过以下方式解决了这个问题:

使用 WifiManager.NETWORK_STATE_CHANGED_ACTION 创建过滤器

当有新事件发生时,我会按以下方式检查它:

if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)){
elapseTime = System.currentTimeMillis() - startTime;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
if (ipAddress != 0 && !wifiConnected) {
wifiConnected = true;
wifiTimeLog = wifiTimeLog + elapseTime + "," + "DHCP Done" + "\n";
state.setText(wifiTimeLog);
}

wifiConnected 是一个 boolean 值,在测试前设置为 false。获得 IP 后还发生了一些其他触发事件。

关于java - 在 Android 中测量 DHCP 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35745124/

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