我在c语言中浏览了大量的网络资料,也在互联网上搜索了很多,但仍然有人怀疑,在listen()中积压的目的是什么。
注:我也在stackoverflow中用相同的问题/答案完成了,但仍然感到困惑。
有人能用简单的语言解释我吗?
如果侦听中的backlog queue是挂起或未完成的请求数,而不是我在backlog参数中提供的5,那么还可以连接5个以上的连接。
谢谢。

最佳答案

当您在端口上listen时,TCP将完成您的连接(即3路握手),并将它们放入一个队列中,其大小与backlog队列的大小相同。当您accept一个连接时,您的pgm开始处理它,并且该插槽将在队列中打开以进行另一个(潜在的)连接。因此,如果您当前正在处理(已经接受)5个连接,并且您的backlog大小为5,那么tcp层仍然可以建立另外5个连接。

关于c - 收听c中的通话积压,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21544666/

10-10 12:36