是否可以在iOS应用程序中测量数据包丢失?

是否可以在iOS应用程序中测量数据包丢失?,ios,ios5,ios6,connectivity,Ios,Ios5,Ios6,Connectivity,我正在构建一个应用程序的一部分,它需要用户下载不同大小的文件。目前,我正在使用苹果公司的可达性代码让我知道我是否有连接。 () 虽然可达性代码可以跟踪“有连接”,但它不能让我知道连接恶化。似乎我需要扩展Apple代码的功能以满足我的需求。我是否可以测量数据传输过程中丢弃的数据包的数量或百分比?这将非常有用,这样我就可以向用户发送消息,并能够暂停或停止下载。没有可以深入到网络堆栈的iOS API,它可以告诉您数据包何时以及为什么会被丢弃。它可以在路由器上丢弃,也可以由于校验和错误而在本地丢弃 这是

我正在构建一个应用程序的一部分,它需要用户下载不同大小的文件。目前,我正在使用苹果公司的可达性代码让我知道我是否有连接。
()


虽然可达性代码可以跟踪“有连接”,但它不能让我知道连接恶化。似乎我需要扩展Apple代码的功能以满足我的需求。我是否可以测量数据传输过程中丢弃的数据包的数量或百分比?这将非常有用,这样我就可以向用户发送消息,并能够暂停或停止下载。

没有可以深入到网络堆栈的iOS API,它可以告诉您数据包何时以及为什么会被丢弃。它可以在路由器上丢弃,也可以由于校验和错误而在本地丢弃

这是什么样的数据?我想是TCP。 您可以通过检查吞吐量来推断连接的质量。您可以计算每秒接收的字节数

TCP有一个被称为的东西,当数据包被丢弃和未确认时,终端主机(iOS设备)将限制其吞吐量。因此,吞吐量可能与网络质量相关。但是,您的吞吐量可能因许多原因而有所不同,如网络拥塞、数据包成形、QoS等

iOS没有公共的。存在私有API,但如果您使用私有API,您的应用将不会在应用商店中获得批准