我需要在C中实现服务器/客户端代码。 服务器需要能够在此时正好接受四个连接。
我不能得到这个工作。我到目前为止已经完成:
1.创建一个套接字
2.它设置为非阻塞:fcntl(sock,F_SETFL, O_NONBLOCK);
3.将其绑定
4.听:listen(sock, 4);
具有多个客户端的客户端/服务器体系结构
这我不是部分相当确定的是如何接受客户的连接。我的代码看起来是这样的:
while (1) {
if ((sockfd = accept(sock, (struct sockaddr *) &client_addr, &client_size)) < 0) {
perror("Error\n");
}
read(sockfd, &number, sizeof(number));
write(sockfd, &number, sizeof(number));
}
当我执行客户端和服务器端的代码,客户端似乎是写东西的插座,其服务器从不接收和整个执行块。 接受来自多个客户端的连接的正确方法是什么?
非常感谢你的详细解释。我得到它的工作,终于! – Maggie 2012-02-04 09:13:08