iOS 网络编程模式总结

本文详细介绍了iOS中三种网络编程模式:socket、stream和URL。socket方式提供CFSocket接口,支持多线程网络编程;stream模式提供类似文件操作的接口,包括CFStream和NSStream;URL模式则通过NSURLSession和NSURLConnection实现,支持后台数据传输。文章详细阐述了各个模式的API使用和工作流程。
摘要由CSDN通过智能技术生成

IOS 可以采用三类api 接口进行网络编程,根据抽象层次从低到高分别为socket方式、stream方式、url 方式。

一 、socket 方式

IOS 提供的socket 方式的网络编程接口为CFSocket。CFSocket是BSD sockets的抽象和封装,CFSocket提供BSD sockets几乎所有的功能,并与run loop集成,用来实现多线程网络编程和网络事件监听。基于 CFSocket可以实现各种类型的 socket编程,包括stream-based 的sockets(如tcp)和packet-based 的sockets(如udp)。需要注意的是在iOS中CFSocket接口在需要时不自动激活设备的 cellular modem或on-demand VPN。

CFSocket包括以下编程接口,包括Socket的 创建、配置,以及根据创建和配置好的Socket 进行 远程通讯等接口。

1 Socket的 创建

2 Socket的配置

  3、Sockets的使用

 

二、stream编程模式

stream编程模式提供了与 unix 的文件操作类似的模式。首先创建和设置流,接着打开流,然后读写流,在流存在时还可以通过查询流的相关属性来读取流的相关信息,在流使用完毕后关闭流。

iOS 为stream编程模式提供的api编程接口包括两大类,一类是Core Foundation框架层用C语言实现的CFStream API(包括CFStream、 CFReadStream 、CFWriteStream等),一类是基于其上的在Foundation框架层用Objective-C语言实现的NSStream API(包括NSStream、NSInputStream NSOutputStream等),两者提供相似的接口和行为,其中某些对象是toll-free bridged类型的,如CFStream 与NSStream,CFReadStream与NSInputStream,CFWriteStream与NSOutputStream之间,因此可以混合使用。

开发人员可以根据自己的语言偏好选择使用。

CFStream API的主要接口:

1、CFStream 创建接口

1.1 CFStreamCreatePairWithPeerSocketSignature

功能:创建一对到一个socket的可读和可写流。

1.2 CFStreamCreatePairWithSocketToHost

功能:创建连接到一个特定主机的特定端口的一对可读写流。

1.3 CFStreamCreatePairWithSocket

功能:创建一对连接到一个socket的可读写流

1.4 CFStreamCreateBoundPair

功能:创建一对读写流。

其它可读写流创建接口:

1.5 CFReadStreamCreateForHTTPRequest

功能:为一个CFHTTP请求创建一个可读流。

1.6 CFReadStreamCreateForStreamedHTTPRequest

功能:为一个HTTP请求的body保持在内存的CFHTTP请求创建一个可读流。

1.7 CFReadStreamCreateWithFTPURL

功能:创建一个FTP可读流

1.8 CFWriteStreamCreateWithFTPURL

功能:创建一个FTP可读流

2. CFReadStream接口

2.1 流的打开和关闭

CFReadStrea

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值