iOS网络底层之CFNetwok

来源:互联网 发布:北京赛车程序源码 编辑:程序博客网 时间:2024/06/05 16:21

苹果网络底层的API是CFNetwork API。描述CFNetwork最简单的方式是:它是苹果对BSD Socket API的特定扩展,CFNetwok 栈是基于和依赖BSD Socket API的。我们也会使用NSHost和系统配置框架来获取网络地址信息和检查网络状态。相对于CFNetwork,BSD Socket最大的优势是兼容其他Unix系统,但是,如果你的应用是苹果设备专用的,推荐使用CFNetwork。

相对于BSD Socket,CFNetwork提供了大量的优点,最大的优点就是run-loop集成,所以,如果你的应用是基于run-loop的,你就能够实现网络服务,而不用实现大量的线程。

CFNetwork也包含了大量的对象来帮助你实现特定的协议,这样,你就不用了解协议的实现细节。这包括CFFTP来实现FTP协议,CFHTTP来实现HTTP协议。

为了理解CFNetwork,你应当知道构成CFNetwork的主要模块:

  • CFSocket:它是BSD Socket的抽象,CFSocket和BSD Socket主要的差别是CFSocket可以与runloop集成。
  • CFStream:提供了读/写流,让网络、文件和内存对象间交换数据变得很容易
  • CFSocketStream:对CFStream进行扩展,可以与网络套接字(network socket)工作
  • CFFTP:提供与FTP服务器通信的API
  • CFHTTP:提供与HTTP服务器通信的API
  • CFHTTPAuthentication:提供了响应HTTP验证的API
0 0
原创粉丝点击