zoukankan      html  css  js  c++  java
  • TCP四次挥手

    tcp四次挥手:
    fin(finish)完成,结束 断开连接请求
    ack:应答


    socket:同时可以收,发.叫做全双工 套接字是双向的
    半双工:酒店的对讲机(别人说的时候你不能说) 只能在同一时刻进行发或者收操作
    单工:收音机,话筒,只能有一个

    可以理解为以下对话:

    男(客户端):我们分手吧
    女(服务器):额...
    女:我们分手吧
    男:好的

    建议客户端首先主动关闭(当然也可以服务器先关闭)

    报错:address in use 地址正在被使用 ----> TCP服务器存在的问题,一旦运行之后,主动终止之后,关闭socket
    第四步:一定要客户端发给服务器

    最后一次ack由于没有确认,必须保证这次最后一次ack顺利到达,所以有了2msl时间.

    导致服务器重启,立刻bind端口就会失败
    解决:重用地和端口 就可以重新进行立即绑定
    如何重用:

    # set socket option 选项级别:socket, 设置 reuseaddr 选项为1 表示设置有效
    server_socket.setsocketopt(SQL_SOCKET,SO_REUSEADDR,1)

    2MSL时间:tcp标准规定,主动断开连接的一方需要等待2msl时间才能释放原来使用的端口

  • 相关阅读:
    IO流
    集合中的工具类Collections和Arrays
    排序 查找
    函数及数组
    变量、静态的和单例模式
    java流程控制
    configure使用
    --sysroot
    LD_PRELOAD
    Linux下内存检测工具:asan :编译-连接-运行选项
  • 原文地址:https://www.cnblogs.com/huaibin/p/12097812.html
Copyright © 2011-2022 走看看