C#.NET Remoting Server和Java-Client

时间:2013-07-30 14:24:53

标签: c# java .net remoting .net-remoting

我想知道是否可以让Java-Client与使用.NET编写的C#服务器进行通信。

在维基百科上说:

  

在客户端,对远程对象的任何请求都由.NET Remoting运行时通过Channel对象代理,这些对象封装了实际的传输模式,包括TCP流,HTTP流和命名管道。通过实例化适当的Channel对象,可以使.NET Remoting应用程序支持不同的通信协议,而无需重新编译应用程序。

这就是为什么我认为Java-Application应该可以连接到ServerIP:Port并通过TCP通道交换甚至复杂的对象。

问题是是否有可以将接收到的数据转换回有效Java对象的库?

还是有另一种更好的方法吗?

任何帮助都会很棒。谢谢!

的Stefan

2 个答案:

答案 0 :(得分:0)

您可以使用JSON或XML格式发送和接收数据

C#的JSON:http://james.newtonking.com/pages/json-net.aspx

JSON for Java:http://json.org/java/

答案 1 :(得分:0)

您无法直接将复杂的Java对象加载到.Net中,反之亦然,但您可以在客户端和放大器中同时使用等效的对象。服务器,并利用JSON(如bas'答案中所示)来序列化&通过您的频道传输这些对象。

这意味着当从A - >发送对象时B,它按照以下顺序进行:

  1. 从A中的托管对象分解为JSON
  2. 通过A - >传输通道发送JSON;乙
  3. 在B
  4. 处接收JSON对象作为字符串
  5. 将对象解析为托管对象以供B
  6. 使用

    步骤1& 4,像NetwonSoft Json.Net库这样的东西对你有很大的帮助。任何网络协议都可以沿线传输JSON对象。