gpt4 book ai didi

Android - 如何仅用一部手机测量本地网络中的带宽质量

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

我们的应用程序充当支持 Wi-Fi 的设备的 Controller 。有时,当本地网络流量很糟糕时,设备很难接收到 Controller 应用程序发送的命令。如果发生这种情况,我们需要通知用户网络流量很糟糕,并告诉用户切换到另一台路由器。

我们确实对我们要控制的设备有一个心跳。但是,问题可能甚至没有达到那个阶段就发生了。我的意思是,首先我们的应用程序需要通过将 UDP 数据包发送到多播地址来搜索设备。然后在我们收到来自这些设备的响应后,我们就在它们之间创建连接。那是我们可以获得心跳的时间。我说的问题是即使在搜索设备的阶段,如果网络流量很糟糕,我们的设备将无法接收我们发送的UDP数据包。

到目前为止,这些是我们的尝试:

  1. 启动http服务器和客户端

我们启动了一个轻量级的 http 服务器,在那里放了一个文件。然后我们创建一个客户端并下载该文件,并监控速度。但这似乎不起作用,因为存在环回。设备看到两侧(http 客户端和服务器)在同一区域(可能术语有误),所以可能下载甚至没有通过路由器。

  1. 将 iPerf 集成到我们的应用中:

此解决方案的缺点是需要对设备进行 Root。但我们仍然尝试了 iPerf 的解决方案。我们在同一台设备上对客户端和服务器进行了测试。但速度仍然没有改变。如果我们在两台设备上进行测试,一台作为服务器,另一台作为客户端,那么我们就能得到很好的速度测试。但是,作为我们的客户,我们不能为我们的产品使用两部手机,我们也不能要求他们对手机进行 Root。

  1. 使用 Facebook 提供的开源库进行连接速度检查。

我们在 github 中找到了一个检查连接速度质量的开源库。但是,这需要互联网连接才能检查速度。但我们的产品不需要用户连接互联网。用户只需要一个路由器和一个应用程序。因此,很遗憾,我们无法使用此解决方案。

  1. 尝试搜索如何在从同一设备下载文件时禁用环回。

基于我们的第一次尝试,这是我们自己构建的唯一解决方案。我们试图检查文档是否在从同一设备下载文件时禁用环回。不幸的是,我们没有得到任何好的结果。

那么,我们的问题是:

  1. 如果我们的第一次尝试很接近,那么我们如何才能禁用此环回功能以便我们可以正确监控下载速度?

  2. 如果我们的第一次尝试不够好,那么我们有没有其他方法可以在本地测试带宽?

注意:不应有任何互联网连接,并且不应使用超过一部手机。

提前致谢!

最佳答案

这也是检测一部手机带宽的好资源

https://github.com/facebook/network-connection-class

关于Android - 如何仅用一部手机测量本地网络中的带宽质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195362/

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