一,网络结构。编程
1,客户端服务器网络结构。服务器
客户端服务器网络结构是一种主从网络结构。服务器是被动的,有点像餐厅的服务员。而客户端是主动的,像在餐厅吃饭的顾客。网络
2,对等网络结构。框架
对等网络也叫点对点网络。每一个节点之间是对等的。编程语言
对等网络结构分布范围比较小。一般在一间办公室或一个家庭内,所以它很是适合iOS设备间的网络通讯,网线路链路层是由蓝牙和WiFi实现。iOS SDK提供了这方面的API供开发者使用。性能
二,基于Socket的C/S结构网络通讯。spa
1,Socket概念。接口
Socket是网络上的两个程序,经过一个双向的通讯链接,实现数据的交换。这个双向链路的一端称为一个Socket.Socket一般用于实现客户方和服务方的链接。Socket是TCP/IP协议的一个十分流行的编程接口,一个Socket由一个IP地址和一个端口号惟一肯定。游戏
咱们把Socket编程叫作“低层次网络编程”。资源
Socket采用TCP/IP协议模型。TCP/IP协议的传输层又有两种传输协议:TCP(传输控制协议)和UDP(用户数据协议).TCP是基于链接的,而UDP是无链接的;TCP对系统资源的要求较多,而UDP少。TCP保证数据正确性而UDP可能丢包;TCP保证数据顺序而UDP不保证。
2,Socket编程。
客户端流程是先指定要通讯的服务器IP地址,端口和采用的传输协议(TCP或UDP),向服务器发出链接请求,服务器有应答请求以后,就会创建链接,以后与服务器端是同样的。
Socket编程是一种网络编程的标准,客户端和服务器端能够不受编程语言的限制,彻底自由通讯。客户端能够是Object-C编写的iOS程序,服务器端能够是Java编写的程序,通讯双方定义好数据交互格式就能够了。
3,实例:NSStream&CFStream实现TCP Socket服务器端。
4,实例:NSStream&CFStream实现TCP Socket客户端。
三,Bonjour服务发现。
Socket有一个问题,须要指定服务器的端口和IP地址。在有些状况下,得到服务器的这些信息是很困难的。苹果公司开发了一种零配置发现协议,命名为Bonjour(法语“你好”),使咱们的尖用没必要指定服务器端口和IP地址就能够动态发现。
1,发布服务
2,解析服务
3,查找服务
4,实例:基于服务发现的Socket通讯服务器端。
5,实例:基于服务发现的Socket 通讯客户端。
四,对等网络结构。
对等网络结构是苹果公司的Ad Hoc网络的一种,在小空间里构建无限网络的解决方案。苹果公司在Game Kit框架中提供了开发这种网络的API。
1,使用Game Kit开发对等结构网络应用。
在iOS3以后,苹果公司提供了用于本身游戏中心开发的API,这就是Game Kit框架。在新发布的iOS6中,苹果公司地Game Kit进行了比较大的调整。借助于Game Kit中的对等网络,API不只能够开发基于Ad Hoc的网络游戏,也能够在其余类型的应用中使用这些API。
基于蓝牙链接的对等网络在数据传输是,传输的距离有限制,另外Game Kit对于传输的数据量也有必定的限制,数据量最大不能超过87KB,处于性能的考虑传输数据不要超过1000字节,若是超过,分割成几个数据包传输。
2,实例:基于蓝牙对等网络通讯。
参考资料:《iOS网络编程与云端应用-最佳实践》