0

我正在编写我的第一个套接字程序以将我的主机连接到在其他 PC 上运行的服务器。我指的是以下链接,但没有明白这一行的含义。

http://www.thegeekstuff.com/2011/12/c-socket-programming/

调用函数“listen()”,第二个参数为“10”,指定服务器将为此侦听套接字排队的最大客户端连接数。

意思是说它会监听 10 次新的连接请求。听时实际发生了什么:?:

一旦某些客户端正确连接到套接字,我们将进入while循环如果没有客户端请求在while的第二个循环中连接到套接字,则在while循环内部确实接受块:?:

当我们在 while 循环中时,listen() 系统调用仍在工作或终止:?:

还有什么时候我们会退出while循环:?:

请论坛上的人可以帮助我理解这一点。

4

1 回答 1

0

listen调用的作用是告诉系统它应该用于新连接的队列大小。此队列仅用于您尚未接受的连接,因此它不是您将拥有的总连接数。

除了设置传入连接队列的大小外,它还在套接字上设置一个标志,表明它是一个被动侦听套接字。

所做的事情listen是在套接字上设置的,因此只要套接字打开队列并且标志有效。

于 2012-11-28T07:01:49.140 回答