iOS:保持Http连接打开

时间:2011-12-05 11:16:03

标签: iphone ios

我一直在使用CFHttpNSUrlConnection。这些类每次都会创建一个新的连接来进行http发送和接收。

基本上我需要一个连接来执行我的所有发送和接收。

打开连接 - >发送http请求 - >接收http响应 - >发送http请求 - >接收http响应 - >关闭连接。

有没有办法做到这一点。

1 个答案:

答案 0 :(得分:2)

NSUrlConnection将通过HTTP 1.1协议自动保持打开并重新使用连接。 (见accepted answer)。它应该开箱即用,除非你正在做一些修改其默认行为的事情。

我建议使用网络嗅探器验证是否正在进行连接重用,并验证连接可能会丢弃多长时间(因此在下次请求时重新打开)。 Wireshark是一个优秀的网络分析器,具有良好的协议支持。

您也可以使用第三方图书馆; AFNetworking很好,设计精良,并且得到了很好的印象。 (我曾经使用过ASIHttpRequest,但它最近已经从活动开发中退出了,它的代码结构更加单一。)