在C中使用fork()和TCP连接进行设计

关于如何设计以下系统,我有一个问题:

我的系统由几个听取环境的客户构建。 当违反音频阈值时,他们将信息发送到服务器,该服务器让孩子们监听每个连接。 服务器需要来自所有客户端的信息以进行必要的计算。

目前,服务器在UNIX中工作,并且已经分叉连接。 他们是独立工作的。

我想要做的是告诉父母(在服务器中)已经发送了信息,现在是时候处理它了。 我该怎么

我正在考虑可能的不同方法:

  1. 在Unix中使用signal()以某种方式告诉父母发生了什么
  2. 转换为线程并使用一些等待和通知function

信号是优选的,但我无法弄清楚如何有效地做到这一点。 因为我的系统中可能发生以下情况:

  • 如果所有客户端成功地将信息发送给他们的服务器的子女,我怎样才能告诉父母我已经准备好了? 不知道/我不确定它将如何处理它们。
  • 服务器可能无法从所有客户端接收信息。 因此,父母必须等待所有孩子一段时间,但不要太久。 所以我猜某种计时器?

不要使用fork,也不要使用信号。 使用线程池 。

什么是Unix域套接字,用于孩子和父亲之间的进程间通信?

http://en.wikipedia.org/wiki/Unix_domain_socket

一旦孩子通过TCP连接接收数据,相同的数据将通过Unix域套接字转发到父进程,后一个进程将立即通知