Ach*_*him 6 .net c# wcf network-programming
我有一个客户端设备(POS手持设备),它通过TCP/IP或RS232与它的服务器通信.协议是给定的二进制格式,我无法改变.我必须为该设备实现一个服务器.我的印象是,WCF比手动实现任何东西都更好.但是因为它需要相当长的时间才能尝试一下,我想询问一下这是否是一个好主意以及是否有可能将WCF微调到如此高的细节水平.
我发现了一些类似于我的问题,但在这些情况下,OP始终完全控制客户端和服务器.我的情况并非如此.
如果WCF是一个好主意 - 我认为 - 一些起点将非常感激.大多数文档都关注SOAP,REST,......而不是我必须处理的较低级别.
使用 WCF 多年(并且喜欢它),我认为这不是满足您需求的最佳选择。正如 Phil 提到的,它的最佳点在于 Web 服务,而不是低级通信。要在 WCF 中实现这一点,您需要编写自定义传输,这与几乎所有低级(通道编程)一样,涉及大量代码。此传输需要使用套接字来理解设备协议,并且您需要以某种方式将消息从协议转换为 WCF 消息。
如果协议很简单,我认为基于“纯”套接字的实现将是最好的方法。无论如何,WCF 解决方案中都需要套接字处理代码(用于与设备通信),但您可以创建自己的消息类型,而不必遵守 WCF 使用的(相当 SOAP 友好的)消息协议。
如果您一路走来并实现与该协议“对话”的自定义 WCF 传输,那么您将拥有的一个优势是,如果您将其公开给许多已经习惯了 WCF 实现方式的不同人员服务 - 您必须承担编写 WCF 传输的初始(非常高)成本,但后来人们可以使用 WCF 提供的良好契约模型为该设备编写服务。
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |