我写了一个服务器代码在我的嵌入式平台上运行...它监听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个连接,虽然我可能不会处理它们。
请帮我澄清一下。