我必须创建单个服务器进程A和多个客户端进程(Es)。所有用户都应该使用Linux消息队列进行数据传递。信息将向两个方向流动。同时,多个客户端进程(Es)也可能已注册到服务器进程A。
目前,我只使用一个命名消息队列,它由Server Process A创建和打开,并由客户端进程(Es)使用/打开(仅)。这适用于两个流程场景(即一个服务器进程A和一个客户机进程B),但不适用于多个客户端进程(Es)和一个服务器进程。
我在这里面临的问题是设计/逻辑。如何从其他客户端进程(Es)解除服务器进程A上的多路复用消息,以及从服务器进程A返回到相应的客户端进程,或者可能它可以发送回所有客户端进程(Es),但必
我有一种过度思考的倾向,但在任何地方都找不到任何关于这方面的东西。大多数有发送限制的IRC网络/通道实现它的方式是,在一段时间内只能发送X条消息(在网络外的情况下,5 in 5s),这意味着我要么必须在消息之间有很长的延迟,要么实现一种方法来确保我发送的消息不会超过这个时间段,同时仍然快速地发送消息。我该如何着手做后者呢?
(我使用Java完成此操作,但问题显然不依赖于此,因此答案中引用的任何代码都可以是任何语言。)