Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中使用fork()和TCP连接进行设计_C_Sockets_Tcp_Fork - Fatal编程技术网

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

在C中使用fork()和TCP连接进行设计,c,sockets,tcp,fork,C,Sockets,Tcp,Fork,我有一个关于如何设计以下系统的问题: 我的系统是由多个客户端组成的,它们监听一个环境。当超过音频阈值时,他们会将信息发送到服务器,服务器上的每个连接都有孩子在监听。服务器需要来自所有客户端的信息来进行必要的计算 目前,该服务器在UNIX中工作,并已断开连接。他们正在独立工作 我想做的是告诉服务器中的父级信息已经发送,现在是处理它的时候了。我该怎么做 我正在考虑可能的不同方法: 在Unix中使用signalin以某种方式告诉父级发生了什么 转换为线程并使用一些等待和通知函数 信号是可取的,但我不知

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

我的系统是由多个客户端组成的,它们监听一个环境。当超过音频阈值时,他们会将信息发送到服务器,服务器上的每个连接都有孩子在监听。服务器需要来自所有客户端的信息来进行必要的计算

目前,该服务器在UNIX中工作,并已断开连接。他们正在独立工作

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

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

在Unix中使用signalin以某种方式告诉父级发生了什么 转换为线程并使用一些等待和通知函数 信号是可取的,但我不知道如何有效地做到这一点。因为在我的系统中可能会发生以下情况:

如果所有客户端都成功地将信息发送给服务器的子级,我如何才能高效地告诉父级我已经准备好了?不知道/我不确定它将如何处理它们。 服务器可能不会从所有客户端接收信息。因此,家长必须为所有孩子等待一段时间,但不能等待太久。我猜是什么计时器?
不要使用叉子,也不要使用信号。使用叉子。

不要使用叉子,也不要使用信号。使用。

Unix域套接字在子进程和父进程之间进行进程间通信怎么样


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

子进程和父进程之间进程间通信的Unix域套接字如何


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

是否确实要对任务执行此操作?看起来您更希望使用线程。不幸的是,你的问题没有那么清楚。我将添加更多信息,但问题已明确说明。请指定操作系统,根据这一点,解决方案可能会有所不同。@KillianDS我可以理解为什么这有点含糊不清,我真的很犹豫在这里发布这篇文章,因为我知道有些人会发现它与此无关,因为没有直接的问题。这就是为什么我把它命名为设计问题。但请阅读整个问题。协议在标题中有说明。问题中还说明了来文。一台服务器,多个客户端。服务器具有分别处理每个连接的子级。客户端向服务器发送信息。就这么简单。我将添加更多的文本来解释更多的系统。@vladmihaisima问题中描述了操作系统。您确定要对任务执行此操作吗?看起来您更希望使用线程。不幸的是,你的问题没有那么清楚。我将添加更多信息,但问题已明确说明。请指定操作系统,根据这一点,解决方案可能会有所不同。@KillianDS我可以理解为什么这有点含糊不清,我真的很犹豫在这里发布这篇文章,因为我知道有些人会发现它与此无关,因为没有直接的问题。这就是为什么我把它命名为设计问题。但请阅读整个问题。协议在标题中有说明。问题中还说明了来文。一台服务器,多个客户端。服务器具有分别处理每个连接的子级。客户端向服务器发送信息。就这么简单。我将添加更多的文本来解释系统的更多内容。@vladmihaisima操作系统在问题alreadyAh中有描述,看来我必须实现它。谢谢你说服我,看来我必须实现这一点。谢谢你说服我