【问题标题】:Library for publish subscriber model with message queueing [closed]带有消息队列的发布订阅者模型库[关闭]
【发布时间】:2012-11-12 06:09:47
【问题描述】:

我有一个 C# 桌面插件应用程序,我需要 dds 实现插件通信,我尝试了 openslicdds、opendds 和 MQTT 消息传递协议。

我找不到轻量级的解决方案,主要是因为需要与我的应用程序一起安装的轻量级 C# 服务器不可用,或者它们中的大多数都依赖于 cygwin。

我们还希望这必须用 mono 编译才能在 linux 中运行。

我也尝试过使用 MSMQ,但默认情况下它没有启用,也不支持发布订阅模式。

如果有什么可用的,请向我推荐一个轻量级的免费解决方案。

【问题讨论】:

  • 从 GOF 实现观察者模式怎么样? dofactory.com/Patterns/PatternObserver.aspx
  • 根据您的解释,我不明白为什么像 OpenSplice 这样的解决方案不适合您。您能否详细说明需要与我的应用程序一起安装的轻量级 C# 服务器不可用 是什么意思?
  • @Thiago Observer 模式没有持久化/排队机制。
  • 我发现 Mosquito 项目是一个实现 MQTT 的轻量级项目,寻找它的 C# 客户端,包括服务器在内的总安装仅在 windows 中只有 747 KB。
  • @Abdul 很好,您找到了解决方案。仅供参考:OpenSplice 不依赖于 Java。你可以减少它的运行时安装,只包括你需要的那些组件,我预计不会超过几兆字节。 OpenSplice 社区版不需要任何运行时许可证。

标签: c# mqtt data-distribution-service


【解决方案1】:

RSMB(“真正的小型消息代理”)是一个免费、小巧且非常简单的 MQTT 服务器。我们在 IBM 的大量演示以及小型传感器和移动项目中使用它(上限为 1024 个并发连接)。您可以在此处下载适用于 windows (160KB) 和其他操作系统的二进制文件 https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=d5bedadd-e46f-4c97-af89-22d65ffee070

RSMB 还可以在 Mac OSX、linux/x86、linux/arm 和其他操作系统上运行。

对于客户端,我建议使用 Eclipse Paho C 客户端,它在 Visual Studio / C# 中构建得很好 http://eclipse.org/paho

【讨论】:

  • RSMB:- 其许可证声明仅用于评估。和 IBM 的财产。我发现 Mosquitto 是开源的。 eclipse paho 项目也在孵化中。
  • Eclipse Paho 正在孵化中,但代码实际上是 IBM 已经销售了几年的商业 C 和 Java 客户端,现在重新授权为开源 - 所以它已经相当成熟了。如果可能的话,我们希望明年加入 Eclipse 发布培训。
【解决方案2】:

我发现 Mosquito 项目(http://mosquitto.org/)是一个轻量级的实现 MQTT(http://mqtt.org/)的项目,包括服务器在内的总安装量仅在 windows.got C# 客户端解决方案中为 747 KB为了这。 http://sourceforge.net/projects/mqttdotnet/

【讨论】:

    猜你喜欢
    • 2011-12-07
    • 2015-03-01
    • 2016-04-25
    • 2015-05-14
    • 2016-06-19
    • 2017-06-25
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多