- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们的应用程序充当支持 Wi-Fi 的设备的 Controller 。有时,当本地网络流量很糟糕时,设备很难接收到 Controller 应用程序发送的命令。如果发生这种情况,我们需要通知用户网络流量很糟糕,并告诉用户切换到另一台路由器。
我们确实对我们要控制的设备有一个心跳。但是,问题可能甚至没有达到那个阶段就发生了。我的意思是,首先我们的应用程序需要通过将 UDP 数据包发送到多播地址来搜索设备。然后在我们收到来自这些设备的响应后,我们就在它们之间创建连接。那是我们可以获得心跳的时间。我说的问题是即使在搜索设备的阶段,如果网络流量很糟糕,我们的设备将无法接收我们发送的UDP数据包。
到目前为止,这些是我们的尝试:
我们启动了一个轻量级的 http 服务器,在那里放了一个文件。然后我们创建一个客户端并下载该文件,并监控速度。但这似乎不起作用,因为存在环回。设备看到两侧(http 客户端和服务器)在同一区域(可能术语有误),所以可能下载甚至没有通过路由器。
此解决方案的缺点是需要对设备进行 Root。但我们仍然尝试了 iPerf 的解决方案。我们在同一台设备上对客户端和服务器进行了测试。但速度仍然没有改变。如果我们在两台设备上进行测试,一台作为服务器,另一台作为客户端,那么我们就能得到很好的速度测试。但是,作为我们的客户,我们不能为我们的产品使用两部手机,我们也不能要求他们对手机进行 Root。
我们在 github 中找到了一个检查连接速度质量的开源库。但是,这需要互联网连接才能检查速度。但我们的产品不需要用户连接互联网。用户只需要一个路由器和一个应用程序。因此,很遗憾,我们无法使用此解决方案。
基于我们的第一次尝试,这是我们自己构建的唯一解决方案。我们试图检查文档是否在从同一设备下载文件时禁用环回。不幸的是,我们没有得到任何好的结果。
那么,我们的问题是:
如果我们的第一次尝试很接近,那么我们如何才能禁用此环回功能以便我们可以正确监控下载速度?
如果我们的第一次尝试不够好,那么我们有没有其他方法可以在本地测试带宽?
注意:不应有任何互联网连接,并且不应使用超过一部手机。
提前致谢!
最佳答案
这也是检测一部手机带宽的好资源
关于Android - 如何仅用一部手机测量本地网络中的带宽质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195362/
我有一个应用程序在我的 Samsung Galaxy S7 7.0 版 API 24 中运行正常。但是当我在华为 CAM-L03 6.0 版 API 23 中尝试它时它不起作用。 基本上我有这样一个类
我是一名优秀的程序员,十分优秀!