我有一个正在添加项目我的方式:设备用自己用C语言编写的系统,以及用于管理目的(发送配置,从设备检索记录的数据,监控设备的状态)的Windows应用程序。我有选择,我会用什么技术的灵活性。这些要求是相当模糊的,现在所以它应该是灵活的。主通信协议是TCP。我们可能会使用COM端口作为维护选项,当正常的通信失败时,由于一些网络故障例如

我考虑使用WCF服务的作为应用程序和设备之间的“代理”。应用程序将数据发送到服务,服务处理数据,并发送TCP数据包的设备(在分组中的数据是由设备可以理解的),设备发生反应发送TCP数据包返回到其进而发送处理的消息到应用WCF服务。这是否使用WCF的任何意义?

WCF可以很容易地从Web应用程序因此,除了正常的Windows应用程序,我们可以让我们的系统更加性感但它是值得的访问?你觉得,分享您的想法,请:)

有帮助吗?

解决方案

据我所知,你正在考虑具有三个元件的系统架构。一个Windows应用程序,一组设备,然后附加服务,将充当代理或穿针引线,两者之间的中介通信。

第一个问题:是有一个原因管理应用程序无法连接到设备本身?用于管理Windows的应用程序应该能够打开一个套接字的设备,很容易成其他应用可能。你为什么不喜欢呢?我想另一种方式来问这个是,什么是介绍经纪人,第三个元素,到架构的理由?的有没有你想介绍一些不同步?它是一个规模问题 - 也许设备的数量是如此之大,你想一个单独的应用程序来管理通信所有的人,而不是从一个UI应用程序直接连接。它是网络拓扑结构的问题?在考虑在代理使用什么技术,首先要决定什么是迫不得已的,你要包括在架构的经纪人。

假设有很好的理由,第三个元素,那么你可以考虑的WCF是否适合通信技术该元素的问题。当然,2基于Windows的应用程序之间,WCF将工作做好。如果它们是在同一台机器上,你可以使用命名管道结合,并得到很好的PERF本地通信。如果这两个应用程序在不同的Windows机器分布可以使用TCP协议,再次,在网络通信非常不错的表现。

您还需要考虑代理和设备之间的连接。 WCF可以与非WCF系统互连。你将不得不写上WCF侧一些扩展,与现有的系统互连。但它是可能的,我会说近主流的用例的WCF。请参见这种问答更多关于该主题的

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top