三次握手是为了证明双方都有发送响应消息的能力
比如
A 要向 B 建立连接
假如 A B 双方都是正常的
- A向B发送syn, B接收到, 此时B知道A能正常发消息
- B向A发送syn和ack, A接收到, 此时A知道B能正常收到(ack), 也能正常发送(syn), 但B还不知道A能不能正常收到
- 最后A向B发送ack, 证明自己能收到. 至此 A B 双方都确认了对方可以正常发送消息
四次挥手是为了保证数据已经完整的发送完成
- A向B发送, 我要关闭了, 那此时的A肯定没有数据要向B发送的
- B向A发送ack表示收到关闭请求, 但此时B可能还有没发送完的数据
- B主动向A发送fin表示我数据完全发完了, 断开吧. 此时双方都已经没有数据要向对方发送了
- A发送ack表示确认, 即将断开连接
原文地址:https://cloud.tencent.com/developer/article/2033327
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。