我们正计划实施新的软件应用程序,如下所示。
这种架构是否适合用途?
需要注意的事项:
我们还考虑了什么?
我们尝试过WCF NetPeerTcpBinding(即P2P),但它不支持 请求 - 回复操作。
我们已经尝试过WCF Duplex,但是在要注意的项目中列出了上面列出的要求,我们最终会在两端都有一个客户端和服务器。
答案 0 :(得分:2)
我很抱歉,但我基本上不同意你的架构。
WCF的设计或适用于请求 - 响应通信以外的任何其他内容。 它的全双工功能不会使您的服务器端向特定客户端发出通信,除非该客户端已经发出与服务器的连接。 这意味着为了与所有客户实现享有盛誉的在线全双工通信 - 您的所有客户都必须维护到服务器的开放端口。
为了实现在线全双工,每台PC拥有双客户端和服务器是向前迈进的一步,因为它将解决每个客户端保持端口开放的问题,但它在安全性方面有缺点,因为它意味着特定PC打开以接收多个连接请求。如果你不小心,可能会发生致命的重入问题。所以,基本上你将保存“端口”以换取架构 可维护性和适用于您的解决方案。
因此,如果您的目标是部署大约200-300台PC,那么您的架构将会成立,但如果您的目标是针对数千台PC的更大部署,那么它将无法实现。