套接字编程 - accept函数一次只接受6个请求

时间:2013-11-04 23:50:59

标签: c sockets

我正在尝试构建一个简单的Web服务器。我使用accept函数接受请求并将请求放入队列中。最初处于睡眠状态的另一个线程在2分钟后唤醒并满足请求。到这时,所有请求都应排队等候。我观察到accept函数不接受超过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
    }
  }

0 个答案:

没有答案