2010-09-17 60 views
0

我有一个TCP服务器创建一个(阻塞)套接字,等到它可用于使用select()读取,然后调用accept()并开始读取数据。
这是一个(不是我的)说明这个概念。对应于select()和accept()返回点的TCP握手阶段

问题是,在select()和accept()调用返回的TCP握手的哪些点上?

TCP 3-way handshake

Ubuntu的哈代,如果它很重要。
2.6.31-14服务器#48ya1 SMP周五4月2日15时43分25秒MSD 2010 x86_64的GNU/Linux的

回答

1

select()返回,表明监听套接字是“可读”,在最后一个数据包后,立即该图被接收。

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