TCP三次握手(微信聊天举例)

                                                      三次握手图示

原始解答

谢希仁版《计算机网络》中的例子是这样的,“已失效的连接请求报文段” 的产生在这样一种情况下:client 发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达 server。本来这是一个早已失效的报文段。但 server 收到此失效的连接请求报文段后,就误认为是 client 再次发出的一个新的连接请求。于是就向 client 发出确认报文段,同意建立连接。假设不采用 “三次握手”,那么只要 server 发出确认,新的连接就建立了。由于现在 client 并没有发出建立连接的请求,因此不会理睬 server 的确认,也不会向 server 发送数据。但 server 却以为新的运输连接已经建立,并一直等待 client 发来数据。这样,server 的很多资源就白白浪费掉了。采用 “三次握手” 的办法可以防止上述现象发生。例如刚才那种情况,client 不会向 server 的确认发出确认。server 由于收不到确认,就知道 client 并没有要求建立连接。” 微信聊天描述

微信聊天模拟二次握手情况

A: 今天一起吃中午饭呗
......(隔了一天B收到了信息)
B: 看到信息后,马上回复并一直等待A给予其他信息(二次握手,这时B已经认为他和A建立链接了),其实这时A提供的请求已经没有时效性了

微信聊天模拟三次握手(失败)

A: 今天一起吃中午饭呗
......(隔了一天B收到了信息)
B: 看到信息后,马上回复并一直等待A给予其他信息,尝试发几次信息后没回应,则认为A不在,不在等待A

微信聊天模拟三次握手(成功)

A: 今天一起吃中午饭呗
B: 好呀,什么时候呀
A: 12点呗
.....(A和B约好就去吃饭了)

公众号关注

JAVA工作者公众号

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值