我在Linux中编写了两对代码(server.c
和client.c
)。一个用于UNIX域AF_UNIX
其他用于INTERNET域AF_INET
。两者都正常工作!listen()队列长度在套接字编程中c?
listen()
为缓冲区队列长度称为= 3在both servers
listen(sockfd, 3);
在UNIX域(AF_UNIX):当一个客户端与服务器连接时,如果我尝试连接多个客户机到服务器。三个排队,第四个请求被拒绝。 (正如我所希望的那样 - 3在等待队列中)。
在INTERNET域(AF_INET):三个以上的请求被保存在未决队列中。
即使积压队列长度为3,为什么不是来自第四个客户端的请求被拒绝?为什么listen()
(和其他)协议的行为依赖于?
我真的不明白你的意图......为什么你会因为排队满了而拒绝客户? –
@ KarolyHorvath:我的意思是,如果我给予排队长度等待,它应该被拒绝。我想知道这一点。 –
@Grijesh Chauhan:理论上......是的...... *实际上* ..谁在乎?为什么这会打扰你? –