【问题标题】:TCP handshake phases corresponding to select() and accept() return points与 select() 和 accept() 返回点对应的 TCP 握手阶段
【发布时间】:2010-09-17 08:26:20
【问题描述】:

我有一个 TCP 服务器,它创建一个(阻塞)套接字,等待直到它可以使用 select() 读取,然后调用 accept() 并开始读取数据。
这是一个example(不是我的)来说明这个概念。

问题是,在 TCP 握手的什么时候 select() 和 accept() 调用返回?

Ubuntu Hardy,如果重要的话。
2.6.31-14-server #48ya1 SMP Fri Apr 2 15:43:25 MSD 2010 x86_64 GNU/Linux

【问题讨论】:

    标签: linux sockets tcp


    【解决方案1】:

    select() 返回,表示侦听套接字是“可读的”,紧接该图中的最后一个数据包被接收。

    如果您改为阻止 accept(),它将在同一点返回(当服务器套接字转换为 ESTABLISHED 时)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2017-07-08
      相关资源
      最近更新 更多