异步同步,长连接短连接,半双工全双工单工看这一篇就够了

关于异步同步,长连接短连接,半双工全双工单工概念的整理

同步:如:三次握手,需要请求-响应配对,才进行下一个请求-响应;
异步:如:UDP会话,只管自己做自己的,至于对端是否处理成功,没有关系;

长连接:一次三次握手,交易不握手; 家里的门,进一次
短连接:每次会话都要三次握手; 银行的门,每次都要钥匙

全双工: 打电话;既可以说也可以听,双向;如三环双向八车道
半双工:一条只有一根车道的路,可以双向行驶但同一时刻内只能单向行驶;如村道;
单工:如单行道,只能朝一个方向行驶;如新都单行道;

我们可以看到其中还包含着一些概念
先说三次握手


TCP(Transmission Control Protocol)传输控制协议 

SYN(synchronous建立连接) 

ACK(acknowledgement 确认)

PSH(push传送)

FIN(finish结束)

RST(reset重置) 

URG(urgent紧急)

Sequence number(顺序号码) 

Acknowledge number(确认号码)

以下是我自己的理解供参考

三次握手简单来说就是: 客户端请求建立连接,服务端确认建立连接并返回确认信息,客户端收到确认信息并返回-->三次握手成功.
同步:经过三次握手,请求按顺序来,走流程不搞事
异步:比如说你煮了一锅饭,这期间你可以去打游戏,而不是等着饭煮熟再去玩
长连接:我们一起建立一个连接,然后维持着这个连接不断,这期间发起的任何交易都无需再进行握手
短连接:我们交易一次就建立一次连接,交易完就断掉.

因为我们项目中用到 异步全双工长连接
以上组合一下就是:首先我们建立长连接,并发送心跳包保持连接(长连接),并且建立一个请求阻塞队列和接收阻塞队列,请求阻塞队列等待我方请求进入,有请求进来就发送到远程方,接受阻塞队列一直接收返回包,如果接收到就返回到自己的请求方 (全双工).请求进来的时候发送和接受信息需要一定时间,这个时候我们可以去处理一些其它的事情(异步).


  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StrideBin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值