如何在CE 6.0设备(作为服务器)和PC(作为客户端)之间进行通信

时间:2008-10-01 09:28:12

标签: c# embedded windows-ce communication

我们正在开发一种将要运行的测量设备 CE 6.0与CF 3.5在x86嵌入式硬件上,一台PC用于控制 设备并使用以太网连接它。

我们想使用接口进行通信(使用DCOM(我们知道它不是 默认情况下支持CE6),.NET Remoting或Web服务)而不是 使用某种(自定义)协议。调用方法中定义的方法 接口比解析原始数据更容易和优雅。

在这种情况下,最佳解决方案是什么?

3 个答案:

答案 0 :(得分:2)

如果您使用的是CE 6和.NET Compact Framework 3.5,您是否考虑过使用Windows Communication Foundation(WCF)?您必须编写自己的传输,但完成后,您将能够相对轻松地使用您的服务接口。

答案 1 :(得分:1)

我有一些在CE设备和PC之间设置通信的经验,并且已经使用winsock使用自定义接口(向前和向后移动一些字节)并尝试过SOAP。在Windows CE 5.0中,Microsoft提供的SOAP服务器每隔几个小时就会以某种方式关闭我们的设备。我花了很多时间试图找出问题所在,认为这是我做错了。所以,我现在更愿意坚持使用winsock,因为至少我有机会知道发生了什么并且可以解决它。

此外,根据您所使用的硬件,CE设备并不总是最快的。 Web服务需要花费一些开销和时间将数据转换为XML,这可能是您无法负担或无法承受的性能损失。

答案 2 :(得分:0)

与Scott一样,出于性能和稳定性的原因,我们采用了基于套接字的通信方式。该代码适用于从Windows CE 2.1到移动6.0的所有设备。我发现Windows CE开发人员手册ISBN 0-7821-2414-3在开发此功能时非常有用,尽管在C ++而不是C#中。