在 Cocoa 中似乎有很多方法可以建立网络:Webkit、NSUrl、CFNetwork、BSD Sockets。是否还有其他通常用于网络的 API/框架?我试图了解在 Cocoa 中建立网络的所有方法,并了解每个人的长处和短处。
作为一个相关的问题,为什么有人会使用 CFSocket?似乎大多数事情都可以用 NSUrl 或 BSD 套接字来完成。CFSocket在实践中是否常用?
在 Cocoa 中似乎有很多方法可以建立网络:Webkit、NSUrl、CFNetwork、BSD Sockets。是否还有其他通常用于网络的 API/框架?我试图了解在 Cocoa 中建立网络的所有方法,并了解每个人的长处和短处。
作为一个相关的问题,为什么有人会使用 CFSocket?似乎大多数事情都可以用 NSUrl 或 BSD 套接字来完成。CFSocket在实践中是否常用?
你可以观看 WWDC 视频Network Apps for iPhone ( Part 1 , Part 2 ) 和Networking Best Practices,他们建议将 NSURLConnection 用于 HTTP 和 HTTPS,CFSocket/CFStream/NSStream 系列用于其他 TCP 网络,当然还有 WebKit,如果你只是打算呈现网页内容。他们建议不要使用低级 BSD 套接字,除非您正在编写服务器。您使用的框架级别越高,为您处理的事情就越多(从 DNS 解析到蜂窝网络管理、身份验证、加密、运行循环集成......)并且它与 Cocoa 框架的其余部分集成得越多。
对于 iOS,最好的网络套件是AFNetworking。它正在积极开发中,并且拥有与任何网络一起为您的项目工作所需的一切。