一,网络结构。

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网络编程与云端应用-最佳实践》

【读书笔记】iOS-苹果的网络的更多相关文章

  1. 《图解HTTP》读书笔记(一:网络基础TCP/IP)

    好书什么时候开始读都不晚.作为一个测试人员,是一定要掌握一些网络的基础知识的.希望能够边读书边在这里记录笔记,便于加深理解以及日后查阅. 一.TCP/IP协议族 计算机与网络设备要互相通信,双方必须基 ...

  2. 【读书笔记】iOS-访问网络

    iOS平台是按照一直有网络连接的思路来设计的,开发者利用这一特点创造了很多优秀的第三方应用.大多数的iOS应用都需要联网,甚至有些应用严重依赖网络,没有网络就无法正常工作. "在访问网络失败 ...

  3. 【读书笔记】iOS-反溃网络信息改善用户体验

    一,iOS6表视图刷新控件的使用. 二,使用等待指示器控件. 三,使用网络等待指示器. 四,使用MBProgressHUD等待指示器. 参考资料:<iOS网络编程与云端应用-最佳实践>

  4. 《python核心编程》读书笔记--第16章 网络编程

    在进行网络编程之前,先对网络以及互联网协议做一个了解. 推荐阮一峰的博客:(感谢) http://www.ruanyifeng.com/blog/2012/05/internet_protocol_s ...

  5. 深入理解linux网络技术内幕读书笔记(九)--中断与网络驱动程序

    Table of Contents 1 接收到帧时通知驱动程序 1.1 轮询 1.2 中断 2 中断处理程序 3 抢占功能 4 下半部函数 4.1 内核2.4版本以后的下半部函数: 引入软IRQ 5 ...

  6. OCA读书笔记(6) - 配置Oracle网络环境

    6.Configuring the Oracle Network Environment su - grid装grid时自动创建了监听netca--创建新的监听 vi $ORACLE_HOME/net ...

  7. [读书笔记]iOS 7 UI设计 对比度

    好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...

  8. 读书笔记--用Python写网络爬虫01--网络爬虫简介

    Wiki - Web crawler 百度百科 - 网络爬虫 1.1 网络爬虫何时使用 用于快速自动地获取网络信息,避免重复性的手工操作. 1.2 网络爬虫是否合法 网络爬虫目前人处于早期的蛮荒阶段, ...

  9. 读书笔记--用Python写网络爬虫02--数据抓取

    抓取(scraping)---爬虫从网页中抽取一些数据用以实现某些用途. 三种抽取网页数据的方法:正则表达式.Beautiful Soup和lxml. 2.1 分析网页 通过浏览器自带选项,查看网页源 ...

  10. 读书笔记-iOS核心动画高级技巧

    如果不使用+imageNamed:,那么把整张图片绘制到CGContext可能是最佳的方式了. 这里我们利用了CALayer的KVC来存储和检索任意的值,将图层和索引打标签. 使用KVC打标签

随机推荐

  1. 拓扑排序 --- hdu 4948 : Kingdom

    Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  2. CaptureManagerSDK

    Simple SDK for capturing, recording and streaming video and audio from web-cams on Windows OS by Win ...

  3. DirectX.Capture Class Library

    DirectX.Capture Class Library Brian Low,              29 Mar 2008                                    ...

  4. No assembly found containing an OwinStartupAttribute

    自从在ASP.NET MVC中使用NuGet添加SignalR类库之后,再次运行程序时,它出现了一个异常: Server Error in '/' Application. The following ...

  5. 【要什么自行车】ASP.NET MVC4笔记01:Asp.net MVC 分页,采用 MvcPager 和CYQ.Data来分页

    Control: ) { ; ; using (MAction action = new MAction("brain")) { MDataTable table = action ...

  6. c++控制台程序实现定时器

    #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace s ...

  7. matlab 调用dos命令和文件操作

    第一.利用!直接调用,简单方便,可以带操作对象:!del A.bat 第二.调用system函数或者dos函数,既可以实现功能,又返回参数,能检查执行情况,方便后面程序的开发,推荐这个 [status ...

  8. C#的变迁史 - C# 4.0 之多线程篇

    在.NET 4.0中,并行计算与多线程得到了一定程度的加强,这主要体现在并行对象Parallel,多线程Task,与PLinq.这里对这些相关的特性一起总结一下. 使用Thread方式的线程无疑是比较 ...

  9. iOS阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  10. .net IO异步和Producer/Consumer队列实现一分钟n次http请求

    简介 最近工作中有一个需求:要求发送http请求到某站点获取相应的数据,但对方网站限制了请求的次数:一分钟最多200次请求. 搜索之后,在stackoverflow网站查到一个类似的问题..但里面用到 ...