【问题标题】:Java android client communication with C# serverJava android客户端与C#服务器的通信
【发布时间】:2013-04-18 17:43:55
【问题描述】:

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

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

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

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

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

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

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

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

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

或者我应该交换 xml 吗??

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

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

【问题讨论】:

  • SO 答案过于宽泛。
  • 这是我需要在架构/设计级别解决的问题。我认为对技术很具体。

标签: c# android client


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2016-05-05
          • 1970-01-01
          • 1970-01-01
          • 2016-02-12
          • 1970-01-01
          • 1970-01-01
          • 2011-09-11
          • 2012-04-21
          • 1970-01-01
          相关资源
          最近更新 更多