0

我需要为 Mac 编写一个 CalDAV 客户端库,我只是想确定什么是编写它的最佳方式。

我想知道我是否应该只使用 NSURLRequest 还是应该转到套接字级别,或者介于两者之间?

我对仅使用 NSURLRequest 的担忧是每次调用都会建立一个新连接,而不是让所有“请求”都通过一个打开的连接。

我错过了什么吗?

想法?建议?

4

2 回答 2

1

NSURLRequest实际上并没有创建任何连接。它只是封装了请求的参数。 NSURLConnection实际上创建到服务器的连接并发送请求。根据这个答案,在幕后,NSURLConnection实例共享和重用 TCP 连接:

NSURLConnection 运行多次

NSURLRequest因此,NSURLConnection如果他们的 API 适合您,您应该只使用它们。

更新

由于NSURLConnection自 iOS 9 / macOS 10.11 起已弃用,您应该使用NSURLSession.

于 2011-10-17T22:15:55.047 回答
1

使用NSURLRequest. 尽管有命名,但NSURLConnection对象与 TCP 连接并没有一一对应的关系。事实上,NSURLConnection可能更恰当地命名NSURLRequestLoadingManager或其他东西——它只是一个跟踪特定请求进度的对象。

底层 TCP 连接由 Cocoa 管理,您无需担心它们的生命周期。

于 2011-10-17T22:17:29.973 回答