• TCP为什么是三次握手,不是两次握手?


    自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

    https://www.cnblogs.com/bclshuai/p/11380657.html

    1.三次握手的作用有两个

    (1)让Client和Server双方都知道双方可以发送和接收到对方的消息;

    (2)避免网络堵塞时,Client以为没有连接上,发送多次请求,而Server会为前面多次无效请求创建连接,造成资源浪费;

    2.具体说明

    2.1 三次握手确认双方都能接收和发送消息

    (1)第一次握手,Client发送给Server:你好,能听到我的声音吗?;    》server如果收到,Server知道了能接收到client发送的消息

    (2)第二次握手,Server发送给Client :你好,我能听到你的声音(确认ACK),你能听到我的声音吗?     》Client如果能收到,说明Client知道Server能发送和接收消息;现在还有一点没有确认就是Server不知道Client能否接收Server发送消息?Client的可能电话设置静音了,听不到Server的声音。这样沟通就无效了。所以需要第三次握手。

    (3)第三次握手,Client发送给Server:我能听到你的声音,我告诉你一个重大的密码……     》Server收到,Server知道client具体接收能力;

    2.2避免Server 为无效的连接创建资源

    Client发送给Server请求连接,如果因为网络堵塞,这个请求阻塞在传输过程中,Client以为没有发过去,又发了一个请求。第一个请求又发送到了服务器,Server又会创建两个连接,第一个连接是无效的,客户端不会通过这个连接去发送消息,这样就造成了服务器资源的浪费。所以需要三次握手,确定连接是否是有效连接。

  • 相关阅读:
    UVA 11806 组合数学+容斥
    Educational Codeforces Round 37 (Rated for Div. 2) G
    java 5 线程池
    团队-象棋游戏-项目进度
    结对-五子棋-测试过程
    结对-五子棋游戏-开发过程
    课后作业-阅读任务-阅读提问-2
    20171006-构建之法:现代软件工程-阅读笔记
    结队-五子棋游戏-项目进度
    团队-象棋游戏-代码设计规范
  • 原文地址:https://www.cnblogs.com/bclshuai/p/13903693.html
Copyright © 2020-2023  润新知