zoukankan      html  css  js  c++  java
  • TCP三次握手的正确使用姿势

    背景

    和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。

    从好上开始,到现在,一年多也算坚持下来了。

    问题

    有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。

    中间双方可能就要不断的确认网络是否恢复,但是有时候会:

    她:“你可以听到了吗?”

    我:“可以了,你呢?”、

    她:“喂喂,你可以听到了吗?”

    我:“可以了,我可以听到了,你呢?”

    她:“你可以听到了吗?”

    .....

    这种情况真的很蛋疼,那么这样才能找一个简单的办法,让两个人都确认自己可以听到对方的声音,对方也可以听到自己的声音呢?

    方案

    不知道为啥想到了这张图:

    于是有了如下对话:

    我:1+1等于几?

    她:2,2+2等于几?

    我:4

    首先两个人约定协议

    1.感觉网络情况不对的时候,任何一方都可以发起询问

    2.任何情况下,若发起询问后5秒还没收到回复,则认为网络不通

    3.网络不通的情况下等1min或者整整路由器之后再发起询问

    对于我而言,发起 “1+1等于几”的询问后

    1. 若5s内没有收到回复,则认为网络不同

    2. 若收到回复,则我确认①我能听到她的消息 ②她能听到我的消息,然后回复她的问题的答案

    对于她而言,当感觉网络情况不对的时候

    1. 若没有收到我的询问,则她发起询问

    2. 若收到“1+1等于几”,则她确认 ①她可以听到我的消息,然后回复我的问题的答案和她的问题“2,2+2等于几”

    3. 若5s内没有收到我的回复“4”,则她确认 ②我听不见她的消息

    4. 若5s内收到了我的回复“4”,则她确认 ②我可以听见她的消息

    这样,如果上面的对话得以完成,就证明双方都可以确认自己可以听到对方的声音,对方也可以听到自己的声音!

    这个故事可以解释TCP为什么要三次握手吗 ...   囧

    结局

    好吧,我得承认,都绕成这样了女朋友还没嫌弃我,是我之万幸...

    她并不是学计算机的,也愿意陪我玩这个游戏,让我感动的同时又觉得一直异地耽搁了她的青春,对不起她。异地恋的心酸谁经历谁知道啊!

    好在经过最近几个周的努力,成功的在家乡找到一份还算满意的工作,离开帝都,回家和她团聚了。趁着新工作入职前还有几天搬家休整的时间,回忆回忆以前的事情,也算是一段挺有意思的经历 :)

  • 相关阅读:
    Redhat Enterprise Linux 磁带机质朴把持
    Lotus 认证介绍
    Delphi 与 DirectX 之 DelphiX(1): 安装测试
    关于结构体与类型转换的一点小技巧
    提取网页中的所有链接、点击第 n 个链接 回复 "刘丽" 的问题
    Delphi 与 DirectX 之 DelphiX(2): DelphiX 各单元概览
    模拟点击网页中的按钮 回复 "starcraft_ly" 的问题
    求助! 谁有 《inside delphiX》这本书?
    类型转换出现在赋值运算符左边的情况
    绘制一个钢琴键盘
  • 原文地址:https://www.cnblogs.com/tzyy/p/5000624.html
Copyright © 2011-2022 走看看