C# 桌面应用程序与Windows Mobile Compact Framework c之间的通信#

C# 桌面应用程序与Windows Mobile Compact Framework c之间的通信#,c#,windows-mobile,desktop,C#,Windows Mobile,Desktop,我正在编写一个桌面应用程序,它必须在compact framework 3.5中与windows mobile应用程序通信。如果连接可用,则这两个应用程序之间必须通过internet进行通信,以便按命令在它们之间发送数据 系统将在设备和桌面应用程序之间发送消息和图像等对象,并检查桌面是否可以通过发送命令看到设备,以及响应是否超时。(应用程序将知道该设备不可用)。 在线时,移动设备将向桌面应用程序发送消息,并且桌面知道移动设备已连接(注册通信类型) 有人能告诉我实现这一目标的最佳方法吗 我做了一些

我正在编写一个桌面应用程序,它必须在compact framework 3.5中与windows mobile应用程序通信。如果连接可用,则这两个应用程序之间必须通过internet进行通信,以便按命令在它们之间发送数据

系统将在设备和桌面应用程序之间发送消息和图像等对象,并检查桌面是否可以通过发送命令看到设备,以及响应是否超时。(应用程序将知道该设备不可用)。 在线时,移动设备将向桌面应用程序发送消息,并且桌面知道移动设备已连接(注册通信类型)

有人能告诉我实现这一目标的最佳方法吗

我做了一些研究,发现这接近于我想要的基于事件驱动的通信,但没有在每个设备上设置电子邮件的功能

电池寿命和设备上的互联网打开不是问题

我是否应该检查System.Net.Socket类,以便在两个应用程序之间进行此类通信?如果是,我将如何设置防火墙,使防火墙不会干扰,并使移动应用程序可以通过internet查看我的桌面应用程序


希望有人能为我解释一下,如果你有答案,请提供一个链接,以便我可以阅读。

你的描述很基本。好的,无论您决定使用何种TCP/IP通信(HTTP、套接字),您必须始终让internet路由器将指定传入端口上的包转发到您的PC,并且防火墙必须接受这些传入请求

因此,设备必须向PC发送数据,反之亦然。因此,您需要在PC和PC上安装服务器和客户端

您可能可以使用一个已经可用的类似云的Dropbox在PC和设备之间交换文件

你在socket编程方面的技能如何?主服务器(PC)必须是多线程编写的,以便能够处理多个设备客户端请求

在我的SocketEdge中完成一个简单的套接字通信[http://www.hjgode.de/wp/2010/05/27/transmit-data-from-winmo-device-to-pc-socketwedge-and-socketsend/]. 这里提供了一种使用设备上的web服务器进行多线程通信的方法[http://www.hjgode.de/wp/2012/10/19/windows-mobile-a-simple-web-server-with-extended-features/]

SQL与数据同步是否是一种可能的选择

你能更详细地描述一下这个应用程序吗


~josef

您好,我正在做一些手机和桌面之间编程的测试。经过大量的研究,我使用了tcp端口转发,使一切正常。也有多线程通信,我会说我的技能大约是10分之7,也许更多,但我不喜欢这样说,因为我可以从其他人那里学到很多东西。目前,如果类包含图像对象,则正在努力序列化要在pc和设备之间发送的类对象。我在服务器和移动设备上都使用序列化,但在图像上卡住了。你们可能有一些关于在compact framework中序列化对象的信息吗?仍然在研究,如果我能够将图像序列化为一个对象,并将其转换回代码中的图像,这也会起作用。可以通过在类中指定枚举来测试对象是否为图像。以前考虑过将图像转换为base 64,但想知道是否有更好的选项。我认为这不属于这个问题。请看这里