【发布时间】:2011-10-23 03:42:40
【问题描述】:
我想用 C 语言编写一个异步套接字服务器,但在此之前我正在做一些研究。查看此处显示的 select() 套接字示例:http://www.gnu.org/s/hello/manual/libc/Server-Example.html#Server-Example 我可以看到示例程序每个选择循环只接受一个客户端(如果我没看错的话)。因此,如果有 20 个客户端和另外两个尝试连接,它会只接受第 21 个客户端然后处理另外 20 个(最坏的情况,假设所有 20 个其他客户端都需要读取)然后接受第 22 个?如果我在接受客户端后打破循环,以便它可以再次 select() 并在处理连接的客户端之前处理所有待处理的客户端,会更好吗?或者这是否违背了使用 select() 的目的?谢谢。
【问题讨论】:
标签: c sockets select asynchronous