swoole( 网络IO 二)

本文深入解析TCP与UDP两种传输协议的特点与应用场景,对比它们在速度与可靠性上的区别,同时介绍了Nginx反向代理的工作原理,以及七层网络协议的作用与分层原因,帮助读者理解网络通信的基础知识。

udp && tcp

udp:

不负责任,只管发送不管结果

速度快,应用场景:软件弹窗,群发,微信公众号群发,不是特别重要的场景批量发送

 

tcp:

专业,确定相互之间的通信,才去发送信息

ngnix反向代理的理解

误区:ngnix帮我们运行php代码

 

反向代理,可以理解成:我们通过媒婆去找心仪的对象 (媒婆中介)

 

相关配置:

location /{

   proxy_pass http://192.168.186.130:9000;

}

七层网络协议

为什么需要协议?

相当于一种通用语言

 

为什么需要分层?

     分层化,各管各的,领域化开发 (各自)

 

 

物理层

 

 

 

 

 

链路层

 

多台电脑间的通信通过路由器,如果B机器需要发送数据给到A,会通过路由器进行广播,这样A机器和C机器都会接收到B的信息,这样效率不高而且不安全,然后他们根据head判断是否是自己的信息。

传输的数据包括:

通信源:接收源:数据

  (mac地址)

网络层

 

传输的数据组成部分:

源mac  接收mac  源ip  接收ip  数据

 

ip作用就是区分网络区域

传输层

 

Ip数据包负责区分网络区域,选择目标电脑

端口负责确定访问的程序

应用层

QQ,邮件

 

 

socket = 套接字 = ip+端口

 

 

tcp通信短链接

 

tcp三次握手:

确认标识,建立连接到心仪女孩经常出现的地方进行一次偶遇,拿到她的微信号

连接建立之后,客户端必须要接收到信息发送邀约的信息,当然这个阶段,女生会有一个犹豫期,考虑的阶段,男生就会在手机另一头苦苦等待回复

确认接收信息,并关闭连接不约

 

tcp四次挥手:

为什么拒绝我?

你是个好人!

不再联系...

断开连接

Tcp通信长链接

 

 

不会挥手,而是会每隔一段时间,发送一个信息进行问候

指的是发送的数据

包,组包,分包

 

例如传输的是比较大的数据如1G的视频,会通过特殊的方式分成同样大的小包(拆包),客户端接收到各种小包后,再通过特殊的方式进行组包

数据在传输的过程中丢失了部分小包

包 (犯法,被警察抓去)

访问一些不正当的非法网站时,被植入的木马,会在数据传输的过程中,替换某些拆散了的小包

包 (粘人)

 

 

 

出现粘包的原因:

  主要是由于数据缓冲造成的。

  例如我们坐的公交车,并不是上一个人,就发一班车;而是在规定的时间内,上了一定的人数后才会发车。

  在一定程度上,节省了资源的消耗

粘包的解决

1.字符

2.EOF

3.长度

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值