比较 http连接 vs socket连接

时间:2023-03-09 06:53:56
比较 http连接 vs socket连接

http连接 :短连接,客户端,服务器三次握手建立连接,服务器响应返回信息,连接关闭,一次性的
socket连接:长连接,客户端,服务器三次握手建立连接不中断(通过ip地址端口号定位进程)
及时通讯,客户端 客户端之间经过 服务器中转的(漫游)

----------------------------------

七层网络协议

OSI参考模式 TCP、IP参考模式
___________________________________

应用层
表示层 应用层
会话层
___________________________________
传输层 传输层
___________________________________
网络层 网际层
___________________________________
数据链路层
物理层 主机至网络层
___________________________________

网络请求三要素:

1: 网络:IP地址
每个电脑都有个IP地址 htp:192.168.3.2
访问谷歌服务器也一样,一个电脑,一个IP地址。

2: 端口号:用于标示进程的逻辑地址

电脑上的qq 端口号4000

3:传输协议
通讯的规则
常见协议:TCP,UDP,http
-------------------------------------------------------
4 服务器:就是个电脑,里面装了很多资源文件,用用户使用特定的 协议端口来访问的

4.1 例如我们拷教师机上的视频:使用

htp://192.168.3.251:21
解释 htp:协议名称,IP地址:192.168.3.251, 端口号:21

4.2 网络访问
http://ip:80/文件路径=>URL(统一资源定位)
解释 http:协议名称, ip:IP地址,80:端口号 文件路径:访问什么内容

5.1 资源类型是通过MimeType来区分的,告诉客户端是什么类型 的资源

例如:浏览器通过域名(ip地址)访问网络服务器,服务器返回了一个,视频、文本,图片....,浏览器通过MimeType来去分文件,用什么工具打开

5 网络访问解析

URL:确定要访问的资源
Request:要访问了
Connection:开始访问
。。。。。。
服务器返回结果

TCP &UDP (都是在传输层的 )

UDP(用户数据报协议)

- 将数据及数据源目的封装 到数据包中,不需要建立连接
- 每个数据包的大小限制早64K之内
- 因为无需连接,因此此协议为不可靠协议
- 不需要建立连接,速度快

有点像通过邮递员给你个目标地址,邮递东西,有大小限制
应用:教师机给给每个学生机发送数据,拼成视频文件
发送UDP协议的的文件,不建立连接,封装源地址,目标地址,每次发送一个不超过64k的小包,发过去,几个小包拼成一段视频!~

TCP(传输控制协议)

- 建立连接,形成传输数据的通道
- 在连接中进行大数据传输
- 通过三次握手完成连接,是可靠的协议,安全送达
- 必须建立连接,效率会略低

-----------------------------------------------------

Socket(套接字层,插座)

- Socket就是为网络服务提供的一种机制
- 通信连段都是Socket
- 网络通信其实就是Socket间的通信
- 数据在两个Socket间通过的IO传输//Input/Output写入,读出

1:socket(老刘解释):
socket就是网络连接,通过scoket建立网络连接之后,我就可以执行两个点之间的通讯。

2:socket之间是怎么通讯的?
预备知识:
端口是标示进程的。
文件的读取方式:通过二进制流方式读取的,指定不同的文件,就可以输出不同的位置,所有的I/O,都是文件操作。

当把CF框架中变量转化为,NS框架中变量时,需要在加上类型前面还要加个__bridge

//Scoket的具体实现

NS与CF互转需要桥接__bridge
NSInputStream:输入流
NSOutputStream:输出流

设定方法发送请求包括IP地址,端口
- ()
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;