当前位置:  技术问答>linux和unix

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

    来源: 互联网  发布时间:2017-05-26

    本文导语:  先说一下自己的观点   不知是否正确 高手指正我觉得腾讯 这个题目 似乎 有点问题啊 accept 好像可以发生在3次握手之前  也可以发生在3次握手之后。。。。。     不信 可以试试  1.没有accept   3次握手照样...

先说一下自己的观点   不知是否正确 高手指正我觉得腾讯 这个题目 似乎 有点问题啊
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函数获得此连接。 ------------------------------------------------------------ 答案到底是神马。。。。。。。。。。。

|
tcp三次握手发生在connect step.

accept只是把内核中的“已完成连接队列(FIFO with established state)”取出, 
另一个队列是“未完成连接队列( FIFO with syn_rcvd state)”,并且这两个队列总和的最大值是backlog.

|


这是真相,UNP,TCP/IP上都有详细的说明,ACCEPT是从已完成三路握手的队列内取走一个,与三路握手的哪一步都没关系。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 腾讯彻底阻止在linux上使用QQ,大家一起抵制腾讯呀!
  • 腾讯开源微博系统 iWeibo
  • 浏览器 腾讯TT
  • 腾讯微博的Java开发包 qq-t-java-sdk
  • 在腾讯工作的话,linux都用在什么地方啊?期待回答
  • 腾讯微博API的问题
  • 寻求类似“腾讯通”的即时通软件的源代码转让或技术合作!
  • Linux下有QQ能用的么?腾讯的QQ,ICQ有了吧?
  • 腾讯急聘高级软件工程师
  • 腾讯微博android客户端
  • linux下如何使用腾讯公司的QQ for linux和MSN?
  • 腾讯分布式数据仓库 TDW
  • 腾讯云排序 CTaxis
  • 新浪/腾讯微博分享的统一接口SDK android-share-sdk
  • Python3实现的腾讯微博自动发帖小工具
  • php利用腾讯ip分享计划获取地理位置示例分享
  • php腾讯ip分享计划获取IP地理位置
  • WEB前端 iis7站长之家
  • 腾讯移动Web前端知识库 Mars
  • 大家好,我想用QT实现类似于腾讯QQ截图的功能.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3