腾讯面试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?

来源:互联网 发布:cf一直网络出现异常 编辑:程序博客网 时间:2024/04/29 21:37
先说一下自己的观点   不知是否正确 高手指正
我觉得腾讯 这个题目 似乎 有点问题啊
accept 好像可以发生在3次握手之前  也可以发生在3次握手之后。。。。。
 
不信 可以试试
1.没有accept   3次握手照样成功。也就是说你可以等到3次握手成功以后,再调用accept
 
2.你也可以先调用accept,后面再开始3次握手,但是,这种情况下,accept会阻塞直到3次握手成功为止。
-------------------------------------------------------------------------------------------------------------------------------------------------------
 
网友评论:
accept发生在三次握手之后。

第一次握手:客户端发送syn包(syn=j)到服务器。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。
三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。
 
------------------------------------------------------------
 
答案到底是神马。。。。。。。。。。。
原创粉丝点击