我一直在使用CFHttp
和NSUrlConnection
。这些类每次都会创建一个新的连接来进行http发送和接收。
基本上我需要一个连接来执行我的所有发送和接收。
打开连接 - >发送http请求 - >接收http响应 - >发送http请求 - >接收http响应 - >关闭连接。
有没有办法做到这一点。
答案 0 :(得分:2)
NSUrlConnection将通过HTTP 1.1协议自动保持打开并重新使用连接。 (见accepted answer)。它应该开箱即用,除非你正在做一些修改其默认行为的事情。
我建议使用网络嗅探器验证是否正在进行连接重用,并验证连接可能会丢弃多长时间(因此在下次请求时重新打开)。 Wireshark是一个优秀的网络分析器,具有良好的协议支持。
您也可以使用第三方图书馆; AFNetworking很好,设计精良,并且得到了很好的印象。 (我曾经使用过ASIHttpRequest,但它最近已经从活动开发中退出了,它的代码结构更加单一。)