最近开发linux环境下的一个应用程序项目。该系统A,通过以太网与子系统B和C相连。
B负责发送一些指令给A,A对指令分解后,在通知C去执行。
对于A,有一个比较常见的处理场景。
1.A收到B的指令后,将指令发给C,C收到后立即回复“已收到”。C对指令的执行结果则
通过一个周期性报文反馈给A。
目前要设计软件的结构。我的考虑是这样的。
场景1:
用一个进程Pb负责接收B的指令。每一个指令的处理设计为一个进程Pn。P1根据指令不同用
exec来创建Pn。Pn对生成新的指令后发给C,然后进程Pn等待系统C的回复后,继续监视
周期性报文中的反馈信息。等C对该指令执行成功后,Pn进程退出。
但是遇到一个问题:
处理A与系统C的通信,也要有一个进程Pc专门收来自C的报文。收到后,还要分发
给指定的Pn。因为Pn比较多,如果采用进程间通信的话,Pc要与好多的Pn打交道,
有没有什么好办法。
请推荐一些好的架构或模式。
我使用C语言开发的。多谢。


sprling 于 2010-10-06 17:27:18发表:
帮顶一个!