一,网络结构。
1,客户端服务器网络结构。
客户端服务器网络结构是一种主从网络结构。服务器是被动的,有点像餐厅的服务员。而客户端是主动的,像在餐厅吃饭的顾客。
2,对等网络结构。
对等网络也叫点对点网络。每个节点之间是对等的。
对等网络结构分布范围比较小。通常在一间办公室或一个家庭内,因此它非常适合iOS设备间的网络通信,网线路链路层是由蓝牙和WiFi实现。iOS SDK提供了这方面的API供开发者使用。
二,基于Socket的C/S结构网络通信。
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网络编程与云端应用-最佳实践》