iOS网络编程

网络编程:

1. 使用CFNetwork(精简模式)
> 定义一个URL 使用NSRUL创建一个url

> 使用NSURLRequest来创建一个请求,要将上层创建的URL作为参数传递进去。如果用NSMutableURLRequest来创建,可以修改其请求的参数

> 创建一个NSURLConnection 在方法中需要将请求作为参数传递,并添加代理为本身 如果连接不为空则为连接成功,否则,连接不成功。

> 代理方法:NSURLConnectionDelegate,NSURLConnectionDataDelegate
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response // 可通过下面方法来得到编码方式
/*
NSLog(@"%@",[response textEncodingName]); // 返回编码名称
*/

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data // 要在其中设置编码格式,将其进行转化
/*
    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingUTF8);
    NSString *str = [[NSString alloc] initWithData:data encoding:enc];
*/

2. 使用socket方式来进行网络编程
iOS网络编程层次结构也分为三层:

Cocoa层:NSURL,Bonjour,Game Kit,WebKit
Core Foundation层:基于 C 的 CFNetwork 和 CFNetServices
OS层:基于 C 的 BSD socket
Cocoa层是最上层的基于 Objective-C 的 API,比如 URL访问,NSStream,Bonjour,GameKit等,这是大多数情况下我们常用的 API。Cocoa 层是基于 Core Foundation 实现的。

Core Foundation层:因为直接使用 socket 需要更多的编程工作,所以苹果对 OS 层的 socket 进行简单的封装以简化编程任务。该层提供了 CFNetwork 和 CFNetServices,其中 CFNetwork 又是基于 CFStream 和 CFSocket。

OS层:最底层的 BSD socket 提供了对网络编程最大程度的控制,但是编程工作也是最多的。因此,苹果建议我们使用 Core Foundation 及以上层的 API 进行编程。

本文将介绍如何在 iOS 系统下使用最底层的 socket 进行编程,这和在 window 系统下使用 C/C++ 进行 socket 编程并无多大区别。

BSD socket ARI简介
接口详解:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值