我正在尝试构建一个简单的 Web 服务器。我使用接受函数接受请求并将请求放入队列。另一个最初处于睡眠状态的线程在 2 分钟后唤醒并为请求提供服务。到这个时候,所有的请求都应该在队列中排队。我观察到接受功能不接受超过 6 个我什至尝试设置的请求listen(s,10)
下面是我绑定套接字并接受连接的代码的一部分
if (bind(s, (struct sockaddr *)&serv, sizeof(serv)) < 0) {
perror("bind");
exit(1);
}
if (getsockname(s, (struct sockaddr *) &remote, &len) < 0) {
perror("getsockname");
exit(1);
}
listen(s, 10);
sock = s;
if (soctype == SOCK_STREAM) {
fprintf(stderr, "Entering accept() waiting for connection.\n");
while(1)
{
sock = accept(s, (struct sockaddr *) &remote, &len);
//Accepting the request and adding to to a queue
}
}