我正在开展一个项目,在该项目中,手机上运行的程序需要与其连接的PC上运行的程序进行通信。理想情况下,我想使用USB,WiFi,无论如何进行通信。
这两个程序应该能够传达诸如电池寿命,短信等内容......但我可以稍后再努力,我只需要让它们进行交谈。
最好的方法是什么?
答案 0 :(得分:3)
假设您有wifi连接,Windows Mobile程序与PC通信的一种方法是在.NET compact framework 3.5上使用WCF。
您需要创建一个新的WCF应用程序来运行您的PC,并公开一个界面,公开您要从Windows Mobile设备调用的功能。
Windows Mobile上的WCF要求在您的设备上安装Compact Framework 3.5。 您还需要“Windows Mobile power toys”才能生成从Windows mobile调用的兼容代理。
Power Toys for .NET Compact Framework 3.5
从WM设备调用WCF服务还需要您手动设置绑定和端点以传递到您的Web服务代理(使用桌面WCF,这是通过从配置文件加载它们自动完成的)。
Windows Mobile上的WCF目前仅支持基本的http绑定(如果需要可以加密),但这可能足以满足您的需求。
答案 1 :(得分:2)
“最佳”是非常主观的,高度依赖于很多因素,如设备,拓扑,防火墙存在,安全需求等等。
您需要在哪里发送通信,并且您是否有ActiveSync连接?如果PC启动通信并且您有ActiveSync,那么RAPI就是您使用的传输,因为它已经完成并准备好了所有基础设施。
对于其他任何事情,您将需要某种形式的专有协议和传输机制。通常我会编写一个带有已定义消息结构的简单套接字协议(通常是消息ID,CRC,消息长度和数据有效负载)。然后,我有一些基本消息类来处理通信,并为我想要的每个特定命令处理一组派生消息。对于需要响应的双向内容,我通常会创建一个基本的Response类,然后从中派生出特定的响应格式。
答案 2 :(得分:1)
您可以尝试查看OpeNETCF.Desktop.Communications库。您可以从http://www.opennetcf.com/FreeSoftware/tabid/84/Default.aspx开始,然后点击链接查找必要的下载内容。 (我想你可能需要从他们的subversion存储库中获取它。)
答案 3 :(得分:0)
答案 4 :(得分:0)
在2015年发现这一点,所以我认为答案不会与原始提问者相关,但是对于记录: 接近 https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465205.aspx