zoukankan      html  css  js  c++  java
  • 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又会创建两个连接,第一个连接是无效的,客户端不会通过这个连接去发送消息,这样就造成了服务器资源的浪费。所以需要三次握手,确定连接是否是有效连接。

  • 相关阅读:
    怎样提高js的编程能力
    如何提升自己
    利用nginx做反向代理解决前端跨域问题
    vue项目中使用组件化开发
    vue中refs的使用
    vue项目使用keep-alive的作用
    hadoop安装、使用过程的异常汇总
    CSS选择器优先级总结
    为什么CSS选择器是从右往左解析
    MySql中游标的定义与使用方式
  • 原文地址:https://www.cnblogs.com/bclshuai/p/13903693.html
Copyright © 2011-2022 走看看