美文网首页工作生活
2019-07-04 三次握手 四次挥手

2019-07-04 三次握手 四次挥手

作者: 々_18C | 来源:发表于2019-07-05 08:14 被阅读0次

    三次握手目的是:保证双方都准备好资源。

    三次握手:

                    客户端告诉服务端准备好资源

                     服务端告诉客户端,我准备好了,你准备好了?

                     我也准备好了

    四次挥手是:保证双方都把资源释放掉。

    四次挥手过程:

    第一次调用close()发送了一个数据包,然后得回一个,这个时候客户端知道服务端收到了,第二次用recv解阻塞,有数据就处理,第三次没有数据就关闭,调用close关闭就会向对方发送一个数据包,第四次客户端回复。

    为什么是四次挥手而不是三次挥手

    因为不调用第三次挥手的close就不能得到回复。

    服务端为什么不能先调用close?

    客户端先调用等两分钟随机分配再连再分配。

    服务器先调用不允许绑定端口,会出现 端口被占用,

    怎么解决服务端调用close()不被占用? 

     设置套接字选项
    setsockopt 套接字选项,REUSEADDR重复利用资源解决端口调用。

    相关文章

      网友评论

        本文标题:2019-07-04 三次握手 四次挥手

        本文链接:https://www.haomeiwen.com/subject/hrwkhctx.html