第四篇:Swift中的网络编程(一)

本文深入探讨Swift中的网络编程基础,包括HTTP请求和Socket通信。讲解了OSI模型、TCP/IP协议,提供了简单的HTTP请求示例,并提到了在iOS中使用Socket的两种方式。同时,对HTTP报文和TCP的三次握手、四次挥手做了简要介绍。
摘要由CSDN通过智能技术生成

本文将解决网络编程的基础问题,很少涉及到高级API的调用,适合困惑于网络基础的同僚。很少有文章从基础讲起,本文将试着总结一下!
首先,不要被面试题所局限,
比如:HTTP、Scoket、TCP、IP、UDP之间的区别是什么?
你要摒弃这个问题,然后再来思考:
我们什么时候会涉及到网络编程?
答案很明显:
1.HTTP请求,也就是我们做常用的网络请求。
2.Scoket通信,也就是即时通讯会用到。

网络编程

在iOS开发最常用的就是这两个了,那么我们就要深度解析HTTP、Scoket究竟是什么,以及怎么用的问题。

什么叫做服务器?

你可以认为他是一个主机,也确实是一个主机,这个主机有个IP,
你可以通过这个IP来访问你服务器上你可以访问的文件,也就是URLURL:统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它

下面我们要看一些原理和模型

必须提一下OSI模型:Open System Interconnection (不是iOS)

1.OSI模型是什么?和网络有什么联系?

OSI模型把网络通讯工作分为7层,
这你一定很了解:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层;
基于OSI7层模型,TCP/IP模型
简化出了应用层,传输层,网络层,网络链路层,
关于每一层的作用,本文不再提,因为通常我们不用向底层在研究,知道这些就可以了

模型图

2.TCP/IP模型和OSI模型的关系?

TCP/IP模型实际上是OSI模型的一个浓缩版本,
它只有四个层次:应用层,传输层,网络层,网络接口层

3.TCP/IP是什么?

TCP/IP单说这个的话一般有两种意思,TCP/IP模型或者是TCP/IP协议簇,
关于TCP/IP模型我们在第二那个问题中提到了,下面我们看看TCP/IP协议簇都包括什么?

download.jpg
4.TCP/IP协议中常用的协议?

我们来讲HTTP、TCP、UDP、IP,这也是我们在移动端开发中最常用协议了。

首先我们来看一个比较形象的例子来感受下层层封装:
1208715-3f90ff0291ece8ed.gif

我们再来看另外一张图:
1192621-6a292c7cf99d1f77.png

5.我们需要首先了解Scoket是什么?

1.他是一个API
2.他是被封装的
3.他是让程序猿简单调用TCP、UDP的
4.他不是协议
5.他是网络通讯的基石
6.基本上所有的应用层操作都是要用到scoket
延伸:

TCP、UDP是什么?
参考链接:http://blog.csdn.net/li_ning_/article/details/52117463

TCP: 
TCP编程的服务器端一般步骤是: 
  1、创建一个socket,用函数socket(); 
  2、设置socket属性,用函数setsockopt(); * 可选 
  3、绑定IP地址、端口等信息到socket上,用函数bind(); 
  4、开启监听,用函数listen(); 
  5、接收客户端上来的连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值