我正在构建一个应用程序的一部分,它将要求用户下载不同大小的文件。目前,我正在使用苹果的Reachability代码,让我知道我是否有连接。
(http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html)
虽然可达代码可以跟踪“有连接”,但它没有能力让我知道连接的恶化。似乎我需要扩展苹果代码的功能,以满足我的需求。在数据传输过程中,我能测量丢弃数据包的数量或百分比吗?这将是有帮助的,这样我就可以发送消息给用户,并且能够暂停或停止下载。
发布于 2014-01-11 05:17:04
没有任何iOS API可以连接到网络堆栈中,它可以告诉您何时以及为什么丢弃数据包。可以在路由器上删除它,也可以因为校验和错误而在本地删除它。
这是什么样的数据?我猜是TCP。您可以通过检查吞吐量来推断连接的质量。您可以计算每秒接收的字节数。
TCP有一个叫做拥塞控制的东西,终端主机(iOS设备)会在丢包和未被确认的情况下降低它们的吞吐量。因此,吞吐量可能与网络质量有关。但是,由于网络拥塞、数据包成形、QoS等原因,吞吐量可能会有所不同。
iOS没有公共API用于监视wifi信号强度。。有一个私有API,但是如果您使用私有API,应用程序将不会在应用程序商店中获得批准。
https://stackoverflow.com/questions/16722379
复制相似问题