【发布时间】:2015-10-06 07:53:37
【问题描述】:
我试图解释一个用 C 语言实现的带有套接字的简单服务器如何处理并发客户端。假设一个简单的服务器等待客户端连接,然后读取客户端发送的消息。 read() 是一个阻塞函数,因此服务器将阻塞,直到客户端写入它。如果我们假设两个客户端同时写入服务器。服务器将唤醒其中一个,但另一个会发生什么?在处理来自第一个客户端的请求时,服务器是否仍在“监听”?我知道 bind 函数将 int 作为第二个参数指定积压(默认为 5)。这是否意味着只有 5 个客户端可以同时连接到服务器?如果是这样,那么处理多个并发连接的服务器是如何实现的?
【问题讨论】:
标签: c sockets client-server server