iOS NSURLConnection:如何知道所有字节都已发送?

时间:2017-05-15 15:06:36

标签: ios networking afnetworking

我对任何收到的字节都不感兴趣。我只是想知道是否已经发送了所有字节(奖金:加上服务器确认TCP-ACK)。这在糟糕的网络和网络切换案例中尤其有用。

我更愿意使用NSURLConnection / NSURLConnectionDelegate并且猜测这些类不提供它,URLSession(Delegate)也不会。

不幸的是,到目前为止,我只看到了如何查看收到的字节。

有谁知道如何找出发送的字节?

1 个答案:

答案 0 :(得分:0)

NSURLConnection已被弃用。您不应该将它用于新开发,而应该将现有代码从中迁移出来。

URLSession的各种委托方法会通知您会话任务的进度。

例如,URLSessionTaskDelegate方法urlSession(_:task:didCompleteWithError:)会在您的任务完成时通知您。

URLSessionTaskDelegate方法urlSession(_:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:)将告诉您发送的字节数。

第二种方法似乎更具信息性,更接近你想要的。