【问题标题】:iOS : Keep Http connection OpeniOS:保持 Http 连接打开
【发布时间】:2011-12-05 20:50:56
【问题描述】:

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

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

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

有没有办法做到这一点。

【问题讨论】:

  • 尝试使用 zeromq 库。您还需要在 zeromq 中实现连接的另一端。

标签: iphone ios


【解决方案1】:

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

我建议使用网络嗅探器来验证连接重用是否正在发生(或没有),并验证连接可能在多长时间后断开(并因此在下一次请求时重新打开)。 Wireshark 是一款出色的网络分析仪,具有良好的协议支持。

您也可以使用第三方库; AFNetworking 很好,设计得很好,并且得到了很好的新闻。 (我曾经使用过 ASIHttpRequest,但它最近退出了积极的开发,而且它的代码结构更加单一。)

【讨论】: