我想处理多个客户端请求。
我应该只调用一次listen()
并为每个新客户请求调用accept()
吗?
最佳答案
您可能想查看d.j.bernstein的tcpserver(请参见http://cr.yp.to/ucspi-tcp/tcpserver.html)。基本上,您可以在tcpserver下运行您的c程序,tcpserver将处理所有事情,包括设置套接字、列出您正在使用的任何端口上的传入连接等。当传入连接到达您指定的端口时,tcpserver将生成您的程序实例并从客户端到程序的stdin,并将程序的stdout传出的信息管道回客户端。这样,您就可以专注于程序的核心逻辑(并简单地读/写stdout/stdin),让tcpserver处理所有繁重的工作,直到套接字等等。
关于c - 如何使用套接字编程在C中的服务器中处理客户端请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19891041/