2012-04-03 76 views
1

我目前正在编写一个具有客户端服务器体系结构的应用程序。Java安卓客户端与C#服务器通信

客户端是一个Java安卓应用程序 该服务器是一个C#应用程序。

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

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

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

速度和可扩展性是系统的设计我最顶端的优先级,...

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

我需要你的建议,我应该使用协议的形式来交换Java客户端和C#服务器之间的数据。

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

还是应该交换xml?

我还不确定是什么做的最好方式.. 本质届时将有来自客户端和服务器的命令将数据回应

请告诉我关于这一主题的数据传送,可以像作为几个演出超过WiFi大,所以速度是非常重要的。

+0

对于SO回答过于宽泛。 – 2012-04-03 20:05:39

+0

这是我需要在架构/设计层面解决的问题。我认为对于技术是特定的。 – Ahmed 2012-04-04 16:26:40

回答

0

那么,总是有JSON。它应该在两端都得到很好的支持,并且很容易让服务器生成并消耗客户端。不确定它有助于您的任何带宽问题...

+0

我最终不得不为此选择json并且运行良好.. – Ahmed 2013-04-24 00:57:01

0

我相信WCF可能是适合这个,WCF使用肥皂,所以一个Java实现应该很好。 WCF也支持传输,所以传输大文件是可能的,但我不确定Java是否支持流媒体协议。

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

0

,如果你想客户端和服务器之间共享代码它很可能是值得探讨MonoDroid(如果序列化/反序列化是有道理的)。

因为我不知道你在建什么,我建议你在继续阅读之前阅读REST。它应该为您提供有关如何创建一个可以被各种客户轻松使用的好API的宝贵指示。