V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
mortonnex
V2EX  ›  问与答

tcp4 次挥手的问题

  •  
  •   mortonnex · Jan 21, 2019 · 1226 views
    This topic created in 2652 days ago, the information mentioned may be changed or developed.
    握手的时候,ack 和 syn 一起发

    为什么挥手的时候,fin 和 ack 不一起发?
    4 replies    2019-01-21 17:33:00 +08:00
    2kCS5c0b0ITXE5k2
        1
    2kCS5c0b0ITXE5k2  
       Jan 21, 2019
    当 Server 端收到 FIN 报文时,很可能并不会立即关闭 SOCKET,所以只能先回复一个 ACK 报文,告诉 Client 端,"你发的 FIN 报文我收到了"。只有等到我 Server 端所有的报文都发送完了,我才能发送 FIN 报文,因此不能一起发送。故需要四步握手。 ----来源 google
    CallMeReznov
        2
    CallMeReznov  
       Jan 21, 2019
    所以才叫 3 次握手 4 次挥手啊
    hilbertz
        3
    hilbertz  
       Jan 21, 2019
    因为 tcp 是全双工的传输协议,双向都要确认数据传输结束了
    jasonyang9
        4
    jasonyang9  
       Jan 21, 2019
    因为很可能一方是话痨,要等它说完
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   871 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 22:03 · PVG 06:03 · LAX 15:03 · JFK 18:03
    ♥ Do have faith in what you're doing.