【发布时间】:2011-03-25 22:21:16
【问题描述】:
对于 C 中的应用程序,我需要响应多个客户端。
我使用如下代码设置连接,
bind(...);
listen(...);
while(1){
accept(...);//accept a client
recv(...);//receive something
send(...);//send something to client
bzero(buf);//clear buffer
}
当我只有一个客户时,这很有效。其他客户端也可以连接到服务器,但尽管它们发出命令,但服务器不会响应在第一个客户端之后连接的客户端。我该如何解决这个问题?
【问题讨论】:
-
poll或select也可以。如果数据应该在客户端之间共享(例如,在聊天服务器中),它会比线程更灵活,并且比分叉更容易使用。 -
@cHao 实际上,我尝试使用 select,但无法使其工作。能举个例子吗?
标签: c sockets client-server