【发布时间】:2020-05-27 14:04:23
【问题描述】:
ret = listen(connection_socket, 1); //允许队列中的一个连接
我已打开 2 个终端并同时在所有 2 个终端中运行客户端进程。
这里的服务器正忙于处理 client1 的数据,现在 client2 在等待队列中。现在队列已满。
在这个阶段,我已经启动了第三个终端并运行了客户端进程。正弦队列已满,此客户端的连接应返回 -1 且 errno 应设置为 ECONNREFUSED,
但在这种情况下,connect 也为客户端 3 返回 0。那么listen()系统调用的目的是什么。
【问题讨论】:
-
listendocumentation 的“或”子句似乎可以提供您正在寻找的提示。
标签: c linux sockets tcp listen