1

我目前正在编写一个具有客户端服务器架构的应用程序。

客户端是 Java android 应用程序服务器是 C# 应用程序。

客户端将从服务器中提取数据,但在某些情况下,也会将一些数据推送到 C# 服务器。

服务器需要转发客户端的数据是数据结构列表(可能是 XML 的形式?),有时是二进制数据,如文件。

客户端和服务器通过无线网络进行通信。

速度和可扩展性是我在系统设计中的首要任务,...

我必须自己编写服务器和客户端。我将使用套接字进行通信。

我需要您对我应该使用的协议形式提出建议,以便在 Java 客户端和 C# 服务器之间交换数据。

我是否应该在 java 和 C# 中编写类似的数据结构(这似乎是多余的)并将它们序列化?

还是我应该交换 xml ?

我还不确定最好的方法是什么.. 基本上会有来自客户端的命令和服务器将响应数据

请就这个话题给我建议,通过 wifi 传输的数据可能大到几场演出,所以速度非常重要。

4

4 回答 4

0

我相信WCF这可能是合适的,WCF使用肥皂,所以 Java 实现应该可以很好地工作。 WCF还支持流式传输,因此可以传输大文件,尽管我不确定 Java 是否支持流式传输协议。

至于性能,您可能会受到设备速度而不是协议的限制。

于 2012-04-03T20:04:57.470 回答
0

请看一下 TechEd 2011 的本次会议:“我的客户正在使用 iPhone/Android,但我是 Microsoft Guy。现在怎么办?”

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DPR304

于 2012-04-03T20:13:26.720 回答
0

如果您想在客户端和服务器之间共享代码(并且如果序列化/反序列化有意义),可能值得研究MonoDroid 。

由于我不知道您在构建什么,我建议您在继续之前阅读 REST。它应该为您提供宝贵的指导,告诉您如何创建一个可以被各种客户端轻松使用的漂亮 API。

于 2012-04-03T22:02:44.903 回答
0

好吧,总是有 JSON。它应该在两端都得到很好的支持,并且易于您的服务器生成和客户端使用。不确定它是否有助于解决您的带宽问题...

于 2012-04-03T22:13:49.623 回答