用于订阅/发布 MQTT(真正的小型消息代理)的 C# 客户端库

标签 c# .net android notifications mqtt

我需要为 Android 实现推送通知,但无法访问 Internet,只能访问 Intranet。 所以我认为我不能使用像 UrbanAirship 这样的 C2DM 和第三方 API。因此,我正在考虑使用 MQTT RSMB(真正的小型消息代理)、C# .net 作为代理的发布者和 Android 的 wMqtt.jar 作为代理的订阅者。

我已经下载了 RSMB 并找到了以下 exe: -broker.exe -stdinpub.exe -stdoutsub.exe

我已成功订阅 Android 并使用带有主题的 stdinpub.exe 发布消息。

我想从你们那里得到一些建议:

1). RSMB 是免费的吗?还有其他适合我情况的替代方案吗?

2).我将如何使用 C# 连接到 RSMB 代理(用于发布和订阅)。是否有任何用于 RSMB 的 C# 客户端库?

3). MQTT 的性能和可靠性如何?我可能需要同时推送数百条消息。

4)。如果没有其他方法,那么我正在考虑在我的 C# 应用程序中执行 stdinpub.exe。(听起来可能很糟糕)。

我发现网上关于 MQTT 的信息很少,我真的应该这样做还是有其他选择?

最佳答案

好的,下面为您详细介绍:

1) 下载时您需要阅读 RSMB 随附的许可文件。我的理解是您不能将 RSMB 用于商业目的,如果 IBM 将其作为商业产品发布,您必须停止使用它。

有一个可用的开源 MQTT 代理,称为 Mosquitto(我开发的)。它提供完整的 MQTT 协议(protocol)支持,可用于许多平台。它还包括 C 语言客户端库、C++ 和 Python 包装器,以及示例发布和订阅客户端。您可以在 http://mosquitto.org/ 获取更多信息

2) 有两个可用的 C# 库,尽管我自己从未使用过其中任何一个。您可以在 http://mqtt.org/software 找到指向它们的链接以及大量其他 MQTT 相关软件。

3) 我已经让 RSMB 和 Mosquitto 在一台旧的 VIA C3 600MHz 机器上每秒处理 1500 条消息(每个 100 字节)。在更现代的硬件上,我希望它们的性能要好得多。

关于 MQTT 的信息,希望 mosquitto 网站上有一个合理的数量 - 见 http://mosquitto.org/man/mqtt-7.html例如,概览。您也可以在 Freenode 网络上的 #mqtt irc channel 上提问 http://webchat.freenode.net/ https://launchpad.net/~mqtt-users 上还有一个邮件列表。可能有用。

恐怕我无法真正评论您是否应该使用 MQTT 或其他东西。

关于用于订阅/发布 MQTT(真正的小型消息代理)的 C# 客户端库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6635440/

相关文章:

c# - WinForms 类似 iPad 的界面原型(prototype)设计应用程序

.net - 字符串对象的 GetHashCode() 值是否唯一?

c# - 如何制作支持泛型类型的 HTML Helpers?

c# - 如何将 sql(导出)表批量复制到 .Net 中的 csv 或 tsv 文件?

c# - 将 double 转换为整数

.net - Task.Delay 什么时候可以抛出 ObjectDisposeException?

java - Facebook 在重新安装后登录时给出无效 token Facebook 异常

android.widget.ImageView 无法转换为 android.widget.CheckBox

java - 尝试实现自定义列表适配器时应用程序崩溃(NullPointerException)

c# - C#中对象是如何存储在内存中的?