TCP IP服务器可以处理多个请求?

时间:2011-03-31 17:20:23

标签: c tcp client-server ip

我正在学习TCP / IP,并尝试使用它在我的服务器上执行不同的命令。

我以为我会从小做起并积累起来。我有一个当前的示例运行,它有一个服务器和客户端连接,然后服务器将当前时间发送到客户端。

现在我想让服务器可以处理多个客户端。

我该怎么做?我想我可以使用fork,但有没有一种方法可以做到这一点,而无需担心多个进程?

在这类事情上是否有任何好的引物,或者您是否可以提供有关如何修改现有代码的说明?

谢谢,

3 个答案:

答案 0 :(得分:3)

glibc Manual有一个很好的例子。丢失的代码位可以在本章的前面找到。这个例子的好处是你不需要多个线程

答案 1 :(得分:1)

我建议使用线程:

  • 一个服务器线程的唯一目的是在服务器套接字上侦听传入连接。一旦收到连接,就会将其传递给工作线程,同时服务器继续监听。
  • 一个或多个工作线程。这些线程将完成大部分工作。您可以选择每个套接字使用一个线程,也可以使用select函数允许一个线程处理多个套接字。

对不起,我不知道任何引物。

答案 2 :(得分:0)

this other question上查看Erik的答案。你真的不需要做多线程。