CFNetwork CFSocket 和 CFStream关系
来源:互联网 发布:ipad淘宝卖家登陆页面 编辑:程序博客网 时间:2024/06/05 18:38
CFNetwork初步
首先看张图:
此乃MAC OS X系统中CFNetwork和其余软件层的结构图。
CFNetwork位于底层,但高效地处理协议栈的操作。BSD套接字提供了一些标准对象来方便操作,如与FTP和HTTP服务器通信,解析DNS主机地址。而CFNetwork就是以BSD套接字为基础。
类似,一些cocoa类,如NSURL,使用标准网络协议与服务器通信,就是以CFNetwork为基础。
除此之外,Web Kit是一些cocoa类,显示窗口中的网络内容。而NSURL和Web Kit都是高层之上,要自行处理网络协议。因此,结构如上图。
下图是CFNetwork框架与Core Foundation框架的结构图:
CFSocket API和CFStream API是CFNetwork的基础。套接字是网络通讯的基础,套接字可以连接到网络或是本地的另一个套接字,并允许数据传送。最通常的套接字抽象就是BSD Socket。CFSocket又是BSD Socket的抽象。CFSocket几乎包含BSD Socket的所有功能,而且将Socket融入run-loop中。CFSocket可以处理任何socket,甚至stream-based socket。
CFStream API提供了轻松的与设备无关的读写数据的能力。你可以为内存,文件,网络(使用套接字)的数据建立stream,可以使用stream而不必立即把所有数据都写入到内存中。
stream,流,是一个在搭建的通讯通道里连续传送的字节序列。steam是单向的,所有有必要建立input(read) stream和output(write) stream。除了基于文件的stream,否则,stream中的数据一经取出消耗,就无法找到。
CFStream就是对这些stream的抽象,并提供两种CFType类型:CFReadStream 和 CFWriteStream,他们都符合Core Foundation API的规范。
由图可以看出,CFStream是基于CFSocket,而且CFStream是CFFTP和CFHTTP的基础。而CFStream却不是CFNetwork的一部分,而是Core Foundation的一部分。
CFNetwork API简介:
CFNetwork API可以拆成许多独立的API,可以独立使用,可以联合使用。
CFFTP API
CFHTTP API
CFHTTPAuthentication API
CFHost API
CFNetServices API
CFNetDiagnostics API
英文文档地址:
http://developer.apple.com/library/ios/#documentation/Networking/Conceptual/CFNetwork/Concepts/Concepts.html%23//apple_ref/doc/uid/TP30001132-CH4-SW10
此乃MAC OS X系统中CFNetwork和其余软件层的结构图。
CFNetwork位于底层,但高效地处理协议栈的操作。BSD套接字提供了一些标准对象来方便操作,如与FTP和HTTP服务器通信,解析DNS主机地址。而CFNetwork就是以BSD套接字为基础。
类似,一些cocoa类,如NSURL,使用标准网络协议与服务器通信,就是以CFNetwork为基础。
除此之外,Web Kit是一些cocoa类,显示窗口中的网络内容。而NSURL和Web Kit都是高层之上,要自行处理网络协议。因此,结构如上图。
下图是CFNetwork框架与Core Foundation框架的结构图:
CFSocket API和CFStream API是CFNetwork的基础。套接字是网络通讯的基础,套接字可以连接到网络或是本地的另一个套接字,并允许数据传送。最通常的套接字抽象就是BSD Socket。CFSocket又是BSD Socket的抽象。CFSocket几乎包含BSD Socket的所有功能,而且将Socket融入run-loop中。CFSocket可以处理任何socket,甚至stream-based socket。
CFStream API提供了轻松的与设备无关的读写数据的能力。你可以为内存,文件,网络(使用套接字)的数据建立stream,可以使用stream而不必立即把所有数据都写入到内存中。
stream,流,是一个在搭建的通讯通道里连续传送的字节序列。steam是单向的,所有有必要建立input(read) stream和output(write) stream。除了基于文件的stream,否则,stream中的数据一经取出消耗,就无法找到。
CFStream就是对这些stream的抽象,并提供两种CFType类型:CFReadStream 和 CFWriteStream,他们都符合Core Foundation API的规范。
由图可以看出,CFStream是基于CFSocket,而且CFStream是CFFTP和CFHTTP的基础。而CFStream却不是CFNetwork的一部分,而是Core Foundation的一部分。
CFNetwork API简介:
CFNetwork API可以拆成许多独立的API,可以独立使用,可以联合使用。
CFFTP API
CFHTTP API
CFHTTPAuthentication API
CFHost API
CFNetServices API
CFNetDiagnostics API
英文文档地址:
http://developer.apple.com/library/ios/#documentation/Networking/Conceptual/CFNetwork/Concepts/Concepts.html%23//apple_ref/doc/uid/TP30001132-CH4-SW10
1 0
- CFNetwork CFSocket 和 CFStream关系
- socket编程(十一)CFNetworking框架/CFSocket////CFStream属于CoreFoundation
- CFSocket
- CFSocket
- CFNetwork
- cfnetwork
- NSURLConnection(NSNetwork) 和 CFHTTPMessageCreateRequest(CFNetwork) 的区别
- 第四章:iOS应用漏洞利用 ——4.17 CFStream和NSStream安全问题
- IOS CFSocket
- iOS CFsocket
- NSStrem/CFStream/CFSoket
- CFNetwork简介
- CFNetwork初步
- CFNetwork初步
- CFNetwork初步
- CFNetwork初步
- CFNetwork框架
- CFNetwork(一)
- 创建手写字体的一个好工具FontCreator
- 小议:如何用PowerShell创建State Services?
- iOS数据持久化——简单介绍
- error C2440 “static_cast” 无法从“void (__thiscall CPppView )(void)...
- C++中的引用与指针的区别
- CFNetwork CFSocket 和 CFStream关系
- 一分钟教你知道乐观锁和悲观锁的区别
- zzuli OJ 1015: 二次方程的实根
- hdu5319 Painter
- 13. jQuery - 设置内容和属性
- css3 flex流动自适应响应式布局样式类
- 设置Android app背景图片(Android studio)
- python简单实验程序
- 使用Spring Data JPA简化JPA开发