首页 > 解决方案 > 服务器-客户端通信和转发步骤

问题描述

首先,我不需要代码。我也可以写代码!我需要你的建议和想法。我有两个C文件,一个是server,另一个是client-maker。服务器有4孩子(服务器的雇员)来响应来自客户端制造商的孩子(客户)的传入请求,也就是说,客户端制造商3, 6, ..根据参数指定要编辑的客户(孩子)数量来分叉数量的孩子fork。有一个众所周知的 FIFO,服务器以及所有子节点都知道它来接收来自客户端的请求(客户端制造商的分叉子节点)。

服务器(4 个孩子的雇主)将请求有序地转发给空闲的孩子。每个孩子都做同样相似的工作。孩子完成了它的工作必须告诉它的父母(服务器)我已经准备好接受一份新工作(回答客户)。

我的问题如下,

  1. 服务器如何将传入的请求转发给空闲
    的孩子(服务器的 4 个孩子)?我需要使用什么方式/方法?
  2. 我怎么知道那个时候孩子闲着呢?
  3. 孩子如何告诉它的父母(服务器)我准备好找一份新工作(回答客户)?通过什么方式/方法?

我无法开始编写程序,因为我无法回答问题。我的意思是——因为我无法建立它的结构。-

请仅使用 FIFO 或 PIPE IPC 和信号提出解决方案。

也许我可以使用一个由 4 个孩子通过信号量保护来调整的计数器。但我不确定。

标签: cconcurrencyprocesspipefork

解决方案


推荐阅读