zoukankan      html  css  js  c++  java
  • TCP的三次握手

    1. 首先服务器端处理LISTEN(监听)状态,等待客户端的连接请求。
    2. 客户端向服务器端发送连接请求报文,SYN=1,ACK=0,选择一个初始的序号x。
    3. 服务器端收到连接请求的报文,如果同意建立连接,则向客户端发送连接确认报文,SYN=1,ACK=1,确认号为x+1,同时也选择一个初始的序号y。
    4. 客户端收到B的连接确认报文后,还要向服务器端发出确认,确认号为y+1,序号为x+1.
    5. 服务器端收到客户端的确认后,连接建立。

    三次握手的原因:为了防止失效的连接请求到达服务器,使服务器错误打开连接,浪费服务器资源。

    解释:客户端发送的连接请求因为某种原因(网络拥堵)在网络中滞留,那么就会隔很长一段时间才能收到服务器端发回的连接确认。客户端等待一个超时重传时间之后,就会重新请求连接。但是这个滞留的连接请求最后还是会到达服务器,如果不进行三次握 手,那么服务器就会打开两个连接。如果有第三次握手,客户端会忽略服务器之后发送的对滞留连接请求的连接确 认,不进行第三次握手,因此就不会再次打开连接。

  • 相关阅读:
    JChartFree创建饼形图
    JFreeChart设置点的颜色
    JChartFree使用散点图
    JChartFree常用数据集
    博客园安家了
    在Android中什么是异步执行;
    XmlPullParserException
    构造器的执行顺序
    Sqlite之contentProvider
    使用java获取歌曲的属性
  • 原文地址:https://www.cnblogs.com/wliamchen/p/13197581.html
Copyright © 2011-2022 走看看