1

我想将 xml 序列化对象从服务器传递到客户端,反之亦然。现在(可能)很容易使用 WCF 从移动客户端(紧凑框架)调用方法,但是有没有办法让服务器可以调用客户端的方法或其他方式从客户端提取数据?我知道回调合约在紧凑框架中不可用,如您在此处看到的:http: //blogs.msdn.com/andrewarnottms/archive/2007/09/13/calling-wcf-services-from-netcf-3- 5-使用-compact-wcf-and-netcfsvcutil-exe.aspx

本来想socket编程,自己开发,后来这里有人提到了WCF。但似乎 WCF 只能在非移动环境中工作,因为我需要回调。

任何人都可以帮助我吗?是否可以使用 WCF 开发与桌面服务器和多个移动客户端的双向通信,还是我必须进行套接字编程?

感谢您的任何建议或任何帮助!

4

2 回答 2

1

在cacke

感谢您的帮助。实际上,我之前偶然发现了您的 Padran Web 服务器。还没有真正检查过它。但我以后肯定会这样做。无论如何,目前套接字解决方案似乎并没有那么糟糕。同时,我认为将数据从多个客户端发送到“套接字服务器”非常容易。如果我能以某种方式管理这些连接,我就可以将数据发送回客户端。然后我必须想出某种协议来处理我通过网络发送的数据或命令......我想最难的部分是制作这样一个协议,因为我不知道那个 atm ...

于 2010-05-19T22:36:22.923 回答
0

即使您使用套接字,由于路由、运营商过滤和 NAT 转换(您没有提到您的实际网络拓扑是什么),它也可能有点困难。这就是大多数移动应用程序必须轮询服务器的原因,即使它是“推送”范例(如 Exchange 的推送机制,客户端实际轮询)。

一般而言,除非您在本地无线网络中,您有可靠的、可路由的、未经过滤的网络访问,否则客户端应该定期调用服务器并询问服务器是否有数据。如果是这样,那么它会从服务器中提取数据。

编辑

现在我们从您的评论中对您的拓扑学有了更多的了解,我可以为您提供更多指导。不幸的是,Microsoft 并没有让 Windwos CE 设备轻松托管服务(WCF 或其他)。理论上,构建您自己的 WCF 通道并实际托管服务所需的基础设施,但这不是一项简单的任务。很久以前,我调查过它,并认为这需要几个月的工作,而这需要在 Redmond 知道现有 Exchange 渠道如何运作的某个人的帮助下完成。

就我个人而言,我会选择使用我们的 Padarn Web 服务器托管基于 REST 的 Web 服务,因为它很容易做到,而且我现在已经为相当多的客户做到了。我意识到提出 Padarn 作为解决方案有点自私,但我在 Padarn 中实现自定义 IHttpHandlers 的全部原因是因为我找不到任何其他真正为 CE 设备托管它自己的设备提供任何简单方法的东西服务,这是我们经常需要提供解决方案的问题。

其他选项可能是专有套接字解决方案,在设备上托管 FTP 服务器,使用(可恶的,IMO)MS 提供的 HTTP 服务器和 ISAPI、Telnet 或类似的东西。所有这些看起来要么是黑客,要么是大量的工作,要么两者兼而有之。

于 2010-05-19T20:20:37.493 回答