如何在 CE 6.0 设备(作为服务器)和 PC(作为客户端)之间进行通信
本文关键字:客户端 PC 之间 通信 设备 CE 服务器 | 更新日期: 2023-09-27 17:47:22
我们正在开发一种将运行的测量设备CE 6.0 与 CF 3.5 在 x86 嵌入式硬件上,使用 PC 来控制设备,并使用以太网与之连接。
我们希望使用接口进行通信(使用 DCOM(我们知道它不是默认情况下在 CE6)、.NET 远程处理或 Web 服务上受支持),而不是使用某种(自定义)协议。调用方法 中定义的界面比解析原始数据要容易得多,也优雅得多。
在这种情况下,最好的解决方案是什么?
如果您使用的是 CE 6 和 .NET Compact Framework 3.5,您是否考虑过使用 Windows Communication Foundation (WCF)?您必须编写自己的传输,但完成后,您将能够相对轻松地使用服务接口。
我在 CE 设备和 PC 之间设置通信有一些经验,并且使用 winsock 使用自定义接口(来回切换一些字节)并尝试过 SOAP。在Windows CE 5.0中,Microsoft提供的SOAP服务器每隔几个小时左右就会以某种方式关闭我们的设备。我花了好几个星期试图找出问题所在,认为这是我做错了什么。所以,我现在更喜欢坚持使用winsock,因为至少我有机会知道发生了什么并且可以解决它。
此外,CE 设备并不总是性能最快的设备,具体取决于您拥有的硬件。Web 服务会占用一些开销和时间将数据转换为 XML,这可能是您承受或无法承受的性能影响。
与Scott一样,出于性能和稳定性的原因,我们走上了使用基于套接字的通信的道路。 该代码适用于从 Windows CE 2.1 到移动 6.0 的所有设备。 我发现Windows CE开发人员手册ISBN 0-7821-2414-3在开发此功能时非常有用,尽管是C++而不是C#。