gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 02:44:57 24 4
gpt4 key购买 nike

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

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

目前服务器正在 UNIX 中工作并且已经 fork 出连接。他们独立工作。

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

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

  1. 在 Unix 中使用 signal() 以某种方式告诉父级发生了某些事情
  2. 转换为线程并使用一些等待和通知函数

信号是可取的,但我不知道如何有效地做到这一点。因为我的系统中可能会发生以下情况:

  • 如果所有客户端都成功地向服务器的子服务器发送了信息,我如何才能有效地告诉父服务器我已准备就绪?不知道/我不确定它将如何处理它们。
  • 服务器可能不会从所有客户端接收信息。所以 parent 必须为所有的 child 等待一段时间,但不要太久。所以我猜是某种计时器?

最佳答案

不要使用 fork,也不要使用信号。使用 thread pool .

关于c - 在 C 中使用 fork() 和 TCP 连接进行设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14315779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com