【问题标题】:Communication between Desktop Application and Windows Mobile Compact Framework c#桌面应用程序和 Windows Mobile Compact Framework c# 之间的通信
【发布时间】:2012-11-14 08:22:13
【问题描述】:

我正在编写一个桌面应用程序,它必须与紧凑框架 3.5 中的 Windows 移动应用程序通信。如果连接可用,则这两个应用程序之间必须通过 Internet 进行通信才能根据命令在它们之间发送数据。

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

有人可以告诉我完成此任务的最佳方法吗?

我做了一些研究,发现这个site 接近于我想要的基于事件的驱动通信,但无法在每台设备上设置电子邮件。

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

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

希望有人可以为我传播一些信息,如果您有答案,请提供链接,以便我阅读。

【问题讨论】:

    标签: c# windows-mobile desktop


    【解决方案1】:

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

    因此,设备必须向 PC 发送数据,反之亦然。所以你需要一个服务器和一个客户端在 PC 和 PC 上。

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

    您在套接字编程方面的技能如何?主服务器 (PC) 必须编写为多线程,以便能够为多个设备客户端请求提供服务。

    在我的 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 会是一个可能的选择吗?

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

    ~约瑟夫

    【讨论】:

    • 嗨,我正在做一些关于移动和桌面之间编程的测试。经过大量研究后,我使用了 tcp 端口转发并让一切正常。确实也有多线程通信,并且会说我的技能大约是十分之七,但不喜欢这样说,因为总是可以向其他人学习。目前,如果类包含 Image 对象,则努力序列化类对象以在 pc 和设备之间发送。我使用code.google.com/p/protobuf-net 在服务器和移动设备上进行序列化,但卡在图像上。
    • 您是否有一些关于在紧凑框架中序列化对象的信息?仍在研究,如果我什至只能将图像序列化为对象并将其转换回代码中的图像也可以。可以通过在类中指定一个枚举来测试对象是否为图像。
    • 之前正在考虑将图像转换为 base 64,但想知道是否有更好的选择
    • 我认为这超出了这个问题。请看这里stackoverflow.com/questions/3236960/…
    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    相关资源
    最近更新 更多