欢迎来到天天文库
浏览记录
ID:16648467
大小:379.50 KB
页数:12页
时间:2018-08-23
《ios开发教程socket的原理和使用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、http://www.mobiletrain.org/iOS开发教程Socket的原理和使用1.iOS网络编程层次结构iOS网络编程层次结构分为三层,从上往下依次为:-Cocoa层:NSURL,Bonjour,GameKit,WebKit-CoreFoundation层:基于C的CFNetwork和CFNetServices-OS层:基于C的BSDSocketCocoa层:是最上层的基于Objective-C的API,比如URL访问,NSStream,Bonjour,GameKit等,这是大多数情况下我们常用的API。Cocoa层是基于CoreFoundation实现的。CoreFounda
2、tion层:因为直接使用socket需要更多的编程工作,所以苹果对OS层的socket进行简单的封装以简化编程任务。该层提供了CFNetwork和CFNetServices,其中CFNetwork又是基于CFStream和CFSocket。OS层:最底层的BSDSocket提供了对网络编程最大程度的控制,但是编程工作也是最多的。因此,苹果建议我们使用CoreFoundation及以上层的API进行编程。本文将介绍如何在iOS系统下使用最底层的Socket进行编程。2.什么是SocketSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。otherstaffoftheC
3、entre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister
4、,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand北京千锋互联科技有限公司版权所有http://www.mobiletrain.org/2.1TCP和UDP的区别TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。关于TCP是一种流模式的
5、协议,UDP是一种数据包模式的协议,这里要说明一下,TCP是面向连接的,也就是说,在连接持续的过程中,Socket中收到的数据都是由同一台主机发出的(劫持什么的不考虑),因此,知道保证数据是有序的到达就行了,至于每次读取多少数据自己看着办。而UDP是无连接的协议,也就是说,只要知道接收端的IP和端口,且网络是可达的,任何主机都可以向接收端发送数据。这时候,如果一次能读取超过一个报文的数据,则会乱套。比如,主机A向发送了报文P1,主机B发送了报文P2,如果能够读取超过一个报文的数据,那么就会将P1和P2的数据合并在了一起,这样的数据是没有意义的。2.2常用的Socket类型有两种:流式Sock
6、et(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNo
7、rthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand北京千锋互联科技有限公司版权所有http://ww
此文档下载收益归作者所有