例如,我不知道有多少客户端将连接,但我希望任意数量的客户端能够在一段时间内连接,比如 10 秒。
现在我有这样的事情:
unsigned int currentTime = (unsigned int)time(NULL);
int session[100], sessionCount = 0;
// accept connections for 10 seconds:
while ( (unsigned int)time(NULL) - currentTime < 10 ) {
session[sessionCount++] = accept( my_sock_desc, (struct sockaddr *)&client_sock_addr, &sock_size );
}
这将接受任意数量的连接,但显然,while 循环的最后一次迭代将留下对 accept() 的调用,从而阻止程序继续运行。
我将如何解决这个问题?