1

我想处理多个客户端请求。

我应该listen()只打一次电话并accept()针对每个新的客户请求打电话吗?

4

1 回答 1

0

您可能想查看 DJ Bernstein 的 tcpserver(参见http://cr.yp.to/ucspi-tcp/tcpserver.html)。基本上,您可以简单地在 tcpserver 下运行您的 C 程序,tcpserver 将处理所有事情,包括设置套接字、列出您正在使用的任何端口上的传入连接等。当传入连接到达您指定的端口时, tcpserver 将生成程序的一个实例,并将来自客户端的传入信息通过管道传输到程序的 STDIN,并将来自程序的 STDOUT 的传出信息传输回客户端。这样,您可以专注于程序的核心逻辑(并简单地读取/写入 stdout/stdin),并让 tcpserver 处理所有繁重的工作,例如套接字等。

于 2013-11-10T15:40:32.603 回答