2012-11-14 60 views
1

我正在编写一个桌面应用程序,该应用程序必须与compact framework 3.5中的Windows Mobile应用程序进行通信。如果连接可用,通信必须通过互联网在这两个应用程序之间通过命令在它们之间发送数据。桌面应用程序与Windows Mobile Compact Framework之间的通信c#

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

有人可以通知我完成此操作的最佳方法。

我做了一些研究,发现这site是接近像事件驱动的通信,我想要的但没有在每个设备上设置电子邮件的可用性。

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

我应该检查使用System.Net.Socket类来处理这两种应用程序之间的这种通信类型吗?如果可以的话,我将如何设置防火墙将不会干扰,并让我的桌面应用程序在互联网上看到由移动应用程序?

希望有人可以为我散布一些光线,如果您有答案,请提供一个链接,以便我能够阅读它。

回答

0

你的描述是基本的东西。 OK,无论您决定使用哪种TCP/IP通信(HTTP,套接字),您必须始终让Internet路由器将指定传入端口上的软件包转发到您的PC,并且firwall必须接受这些传入请求。因此,设备将不得不向PC发送数据,反之亦然。因此,您需要PC和PC上的服务器和客户端。

可能您可以使用像Dropbox这样已经可用的云在PC和设备之间交换文件。

你在socket编程方面的技能是什么?主服务器(PC)必须写入多线程以便能够服务多个设备客户端请求。

一个简单的套接字comm在我的SocketWedge中完成[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-特征/]。

SQL与数据同步会是一个可能的选择吗?

你能更详细地描述应用程序吗?

〜josef

+0

嗨,我正在做一些移动和桌面之间的编程测试。经过大量的研究,我用tcp端口转发去了一切工作。也有多线程的通信,并且会说我的技能大约是七分之七或更多,但不喜欢说可以总是从其他学习中学习。目前,如果类中包含一个Image对象,那么就很难序列化一个在pc和设备之间发送的类对象。我使用http://code.google。com/p/protobuf-net /用于在服务器和移动设备上进行序列化,但停留在图像上。 – Frederick

+0

你可能有一些关于在紧凑框架中序列化对象的信息吗?仍然在研究,如果我甚至只能够将图像作为对象序列化并将其转换回代码中的图像,也是可行的。可以通过在类中指定一个枚举来测试该对象是否为图像。 – Frederick

+0

正在考虑将图像转换为64像这样做,但想知道是否有更好的选择 – Frederick

相关问题