【问题标题】:Which technology to choose for PubSub between java service and C# client在 Java 服务和 C# 客户端之间为 PubSub 选择哪种技术
【发布时间】:2012-07-04 10:28:25
【问题描述】:

对于 Java 服务和 C# 桌面客户端之间的 PubSub,您建议使用哪种技术。 你觉得 CometD 怎么样?有什么不错的 .net API 吗? 服务器和客户端将在同一个组织内运行,因此可以使用不同的协议 CometD 是一个正确的选择,还是使用 TCP 而不是 HTTP 会更好?

【问题讨论】:

  • 看看 Oracle 的 Coherence。它最初是为 Java 返回的,但也有一个用于 .net C# 的端口

标签: c# java comet publish-subscribe cometd.net


【解决方案1】:

由于您的应用在同一组织内运行,因此您可能能够使用比 HTTP 甚至 TCP 更高效的传输方式,具体取决于您的情况和要求。

数据分发服务 (DDS) 是 OMG 基于 Pub/Sub 的标准。标准化的语言绑定是 C、C++、Java 和 Ada,但也可以使用 C# 和其他语言。您的系统中可以混合使用不同的语言和操作系统。要分发的结构化数据类型以与语言无关的格式(按照标准是 OMG IDL 的子集)指定,然后被翻译成特定语言的接口和数据类型,供您的应用程序使用。

它可以使用不同的传输层,例如 UDP 或 TCP。虽然我无法从您的简要描述中确定 DDS 是否是您的最佳选择,但我认为值得研究。请参阅 this Wikipedia entry 以获得非常简短的介绍和参考列表。

【讨论】:

    【解决方案2】:

    警告:我只用过cometd(没有大气甚至没有java的解决方案)

    我喜欢 cometd,因为它上手速度非常快,文档也很好。 javascript API 也没有任何问题。

    然后bayeux规范也可以在c#上实现:https://github.com/Oyatel/CometD.NET

    http://bugs.cometd.org/browse/COMETD-23

    【讨论】:

      【解决方案3】:

      您可能想查看一些消息传递协议,例如 AMQPSTOMP。在 Java 和 .NET 中对这两种协议都有很好的支持,您可以选择消息代理,例如 RabbitMQ 或 ActiveMQ 等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-26
        • 1970-01-01
        • 1970-01-01
        • 2011-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多