使用单个客户端时套接字侦听

时间:2014-12-01 11:13:56

标签: sockets client-server server listen

我写了一个服务器代码在我的嵌入式平台上运行...它监听wifi客户端,我已经规定一次只接受一个客户端连接。

所以我这样做,

        sfd = socket(AF_INET, SOCK_STREAM, 0);
        ret=bind(sfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr));
        ret = listen(sfd,5);
        while(1)
        {
            new_fd = accept(sfd,(struct sockaddr*)&client_addr,&len);
            ....
            close(new_fd);
        }

所以在这种情况下,我观​​察到只有一个客户端可以发送数据......这是预期的 但是,另一个客户端可以同时连接到套接字......虽然第二个客户端的数据没有被处理。

这是因为listen(5)backlog参数。所以我可以同时连接到5个连接,虽然我可能不会处理它们。

请帮我澄清一下。

0 个答案:

没有答案