TCP连接的建立和释放分别通过“三次握手”和“四次挥手”来完成。
客户端拨通服务器的电话,说“喂?听得到吗?”(发送SYN信号,携带初始编号x:SYN=1,seq=x)。
进入“等待回应”状态(SYN_SENT)。
服务器听到后回答:“听得到!你那边OK吗?”(发送SYN+ACK信号,确认收到x并携带自己的编号y:SYN=1,seq=y,ACK=1,ack=x+1)。
进入“准备接收”状态(SYN_RECV)。
客户端确认:“没问题,开始聊吧!”(发送ACK信号,确认收到y:ACK=1,seq=x+1,ack=y+1)。
双方都进入“正常聊天”状态(ESTABLISHED),可以开始传输数据。
三次握手完成后,TCP 连接正式建立。
客户端说:“我讲完了,先挂了”(发送FIN信号,关闭发送通道。FIN=1,seq=m)。
进入“等待确认”状态(FIN_WAIT_1)。
服务器回应:“收到,我还在处理消息”(发送ACK信号,确认收到FIN。ACK=1,seq=n,ack=m+1)。
进入“准备关闭”状态(CLOSE_WAIT),但可能还有数据要发给客户端。
服务器处理完数据后说:“我也讲完了”(发送FIN信号,关闭发送通道:FIN=1,ACK=1,seq=k,ack=m+1)。
进入“等待最终确认”状态(LAST_ACK)。
客户端确认:“好的,再见!”(发送ACK信号,确认收到FIN:ACK=1,seq=m+1,ack=k+1)。
进入“彻底关闭”状态(TIME_WAIT),等待2MSL(最长报文存活时间)后彻底断开;服务器收到ACK后立即关闭。
至此,四次挥手完成后,TCP连接正式关闭。
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多以太网模组产品和无线通信技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!
相关阅读:
4、分布式IO模块与西门子200smart PLC设备TCP连接例程
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 无锡办事处刘经理:13558641933
成都总部销售经理:
秦 科(无线模块):18884314654 冯子恒(无线模块):18828049434
蔡友银(无线模块):13882211021 葛宇龙(通信设备):19138800613
胡兵(外贸销售经理):18584911141、 sales06@ebyte.com
业务邮箱:support@cdebyte.com 全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都亿佰特电子科技有限公司【版权所有】 蜀ICP备13019384号