CFNetwork编程指南简介
CFNetwork是核心服务框架中的一个框架,提供了抽象概念的网络协议库。这些抽象感念使得执行各种网络任务变得更容易,例如:
- 使用BSD套接字
- 使用SSL或TLS创建加密连接
- 解析DNS主机
- 使用HTTP,验证HTTP和HTTP服务器
- 使用FTP服务器
- 发布、解析和浏览Bonjour 服务(NSNetServices和CFNetServices编程指南中有讨论)。
本文是针对想在应用中使用网络协议的开发人员。为了完全理解本文,读者应该对网络编程概念如BSD套接字、流和HTTP协议有很好的理解。此外,读者应熟悉OS X编程概念包括运行循环。关于OS X更多信息请阅读OS X技术概述。
本文组织结构
本文包含以下章节:
- CFNetwork概念(CFNetwork Concepts )描述了每个CFNetwork API及它们是如何交互的。
- 使用流(Working with Streams )描述了如何使用CFStream API来发送和接收网络数据。
- 与HTTP服务器通信(Communicating with HTTP Servers )描述了如何发送和接收HTTP消息。
- 与身份验证HTTP服务器通信(Communicating with Authenticating HTTP Servers)描述了如何与安全HTTP服务器通信。
- 使用FTP服务器(Working with FTP Servers)描述了如何从一个FTP服务器上上传和下载文件,以及如何下载目录列表。
- 使用网络诊断(Using Network Diagnostics )描述了如何为应用添加网络诊断。
另请参阅
关于OS X网络API更多信息,可查看:
开始使用网络
请参考下面的CFNetwork参考文档:
- CFFTPStream 引用(CFFTPStream Reference)是CFFTPStream API的参考文档。
- CFHTTPMessage 引用(CFHTTPMessage Reference)是CFHTTPMessage API的参考文档。
- CFHTTPStream 引用(CFHTTPStream Reference)是CFHTTPStream API的参考文档。
- CFHTTPAuthentication 引用(CFHTTPAuthentication Reference)是CFHTTPAuthentication API的参考文档。
- CFHost 引用(CFHost Reference)是CFHost API的参考文档。
- CFNetServices 引用(CFNetServices Reference)是CFNetServices API的参考文档。
- CFNetDiagnostics引用(CFNetDiagnostics Reference)是CFNetDiagnosticsAPI的参考文档。
除了苹果提供的文档,下面是socket级别编程的参考书:
UNIX网络编程,卷1(Stevens, Fenner and Rudoff)
官方原文地址:
文件修订历史(Document Revision History)
此表描述了CFNetwork 编程指南的变更(CFNetwork Programming Guide)。
日期 | 说明 |
2012-06-11 | 小修复 |
2011-06-06 | 纠正使用FTP创建一个目录,同步使用CFHTTPRequest 的解释 |
2009-05-06 | 纠正拼写错误 |
2009-01-06 | 各式各样的编辑 |
2008-10-15 | 示例代码的小修改 |
2008-03-11 | 小排版修改和说明 |
2007-01-08 | 更新关于CFReadStreamUnscheduleFromRunLoop的信息 |
2006-05-23 | 更新关于CFReadStreamCreateForHTTPRequest的信息 |
2006-04-04 | 更新与HTTP服务器通信的示例代码 |
2006-03-08 | 全文小编辑修正 |
2006-02-07 | 大幅更新内容并转移引用信息到新文档“CFNetwork 引用(CFNetwork Reference)”。从“CFNetwork 服务编程指南(CFNetwork Services Programming Guide)”改变标题 |
2005-08-11 | 纠正CFNetServiceCreate端口参数的描述 |
2005-04-29 | 为 OS X v10.4更新。 "Rendezvous"改为"Bonjour",标题改为“CFNetwork 引用(CFNetwork Reference)” |
2004-02-01 | 添加CFFTP 和CFHost 的描述并澄清CFNetwork 服务目前支持的协议。修正“使用写入流(Working With Write Streams)”和“使用运行循环防止阻塞(Using a Run Loop to Prevent Blocking)”章节中的示例代码。纠正CFReadStreamClientCallback 和CFWriteStreamClientCallback 回调函数的clientContext 参数。 |