tcp编程中的connect(tcp连接的建立采用什么算法)

如题,TCP连接中,connect连接成功的标准是什么?

认为在客户端发送完第三次ACK后即表明connect连接成功。tcp编程中的connect(tcp连接的建立采用什么算法)图1

上图为TCP三次握手建立连接的过程:

1、客户端发送SYN至服务器端,客户端状态变为SYN-SENT;

2、服务器端在接收到数据请求后,服务器状态回应数据包后,状态变为SYN-RCVD;

3、客户端在接收到回应的数据包后,回应第三次ACK,客户端状态变为ESTAB-LISHED;

4、服务器端接收到数据包后,服务器的状态才能进入ESTAB-LISHED;这时才能完成连接,可以进行数据传送;

可以看出客户端在发送完第三次ACK后,状态立刻变为ESTAB-LISHED,客户端不会去在意自己发送的ACK是否丢失,客户端可以以ACK+DATA的格式来发送数据。当此数据包到达服务器端时,虽然服务器端的状态为SYN-RVCD,但其依然可以将DATA缓存下来,并且对ACK进行认证,即服务器端进入ESTAB-LISHED状态,最后将DATA提交给应用程序去处理。tcp编程中的connect(tcp连接的建立采用什么算法)图2

因此认为,在客户端发送完第三次ACK后,自身状态变为ESTAB-LISHED,就表示connect成功返回,可以接收用户的数据。

本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023-02-25 11:02
下一篇 2023-02-25 11:33

相关推荐