0

我有一个我正在设计的系统,我们使用 4 台我们在内部制造的具有 16 个串行端口(db-9 RS232)的专用 PC 我需要同时与 64 个单元(4x16)通信并管理通信。 这是我想出的模型,我正在征求反馈

服务器: 在一个系统上运行并协调客户端应用程序。维护一个主状态机并确保客户端与该状态机同步。(例如,所有单元都执行任务 A,当最后一个报告完成时,所有单元都执行任务 B)。

通过.net 远程通信?WCF?

客户端: 可以与服务器在同一系统上运行。管理所有 IO。管理实际任务执行的业务逻辑(坏主意?)通过 Remoting/WCF通过通知事件(例如 INotifyPropertyChanged)报告状态。

我从未使用过 .net 远程处理或任何类型的分布式应用程序,所以我在这方面完全是新手,但我确实学得很快。 在这一点上,文学和社区建议将不胜感激。

4

2 回答 2

1

绝对检查并发和协调运行时(CCR):

http://msdn.microsoft.com/en-us/library/bb648752.aspx

编辑:

下载链接:

http://msdn.microsoft.com/en-us/robotics/aa731520.aspx

于 2009-03-25T22:31:26.333 回答
1

如果我是你,我会阅读分布式系统设计。通常,在系统中出现单点故障是一个坏主意(一台特殊的 PC 是“服务器”,所有其他 PC 都需要与之通信。)

但在你的情况下,这很可能无关紧要。

阅读分布式系统设计。

我会说,您选择的 API 并不是最重要的。首先,您需要规划架构,以及您希望在各种场景中获得的行为(例如其中一台 PC 擅离职守。)。

只是阅读您的请求后的快速反应,我会研究分布式发布/订阅系统。如何实现发布/订阅取决于您。您可以使用 MSMQ,或 WCF 和 WS-Eventing,或 ....

于 2009-03-26T06:12:52.357 回答