【问题标题】:iOS Detecting connection speed or type [duplicate]iOS检测连接速度或类型[重复]
【发布时间】:2012-05-23 11:32:50
【问题描述】:

可能重复:
Iphone detect 3g or wifi

有没有办法获取当前的网络速度或者设备是否在 EDGE/3G/GPRS 上? 我可以使用 Reachability 来区分 WiFI 和 WMAN,但这对于我的应用程序来说还不够。

【问题讨论】:

标签: iphone objective-c ios reachability


【解决方案1】:

如果你真的需要知道,你将不得不测试它。

建立与具有低延迟的已知服务器的连接。在一个单独的线程中,标记时间(时间 A)并发送一个数据包(确保它是一个数据包)。等待那个线程。标记第一个数据包的时间(时间 B)。读取数据直到完成。标记最后一个数据包的时间(时间 C)。确保服务器响应至少跨越三个数据包。

时间 B - 时间 A 是对延迟的粗略估计。 时间 C - 时间 B 是对带宽的粗略估计。

因为您希望尽可能准确,所以请使用您可用的最低级别的网络访问(我相信在 iPhone 上这是套接字)。使用固定长度的随机数据块作为您的请求和响应。请求的几个字节就足够了,但响应需要构造良好。确保服务器发送一个小的第一个数据包,然后是一个足以填满三个或更多的数据包序列。

此时您需要进行测试。测试,测试,测试和测试。测试不同的网络类型,测试不同数量的网络流量,测试交换网络,以及测试你能想到的任何东西。

【讨论】:

  • 对此的有趣技术方法。因此,无论 WIFI 还是 3G 等...这应该给出一些可用带宽的大致估计。我一直在寻找这样的解决方案,这样我就可以在逻辑上决定通过网络拉取大图像还是小图像。较小的优先用于较低带宽的场景
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多