0

我想为各种安卓设备开发一个简单的推送通知系统。经过两天的文档,我发现使用 MQTT 协议非常有趣。

系统需求: - Android 上的 MQTT 客户端:eclipse Paho 似乎是一个很好的解决方案 - 您喜欢的服务器部分的任何 MQTT 代理:我的注意力集中在 Mosquitto 上,因为它是开源的

我已经阅读了文档和配置文件,并且看起来很清楚。我唯一不明白的是我是否可以管理主题(客户订阅的地方)。特别是如果我可以创建主题以及如何创建主题。

谢谢。

4

2 回答 2

1

目前尚不清楚您是指客户端还是代理端...

假设您的意思是代理端,您不需要创建主题,它们会根据需要自动创建。您可以使用内置的身份验证和 ACL 代码控制哪些客户端可以访问哪些主题,或者您可以使用身份验证和访问插件。自己写很容易,或者你可以使用优秀的ht​​tps://github.com/jpmens/mosquitto-auth-plug

在客户端,只需订阅或发布一个主题就足以在代理上创建它,假设您拥有该主题的权限。在所有 MQTT 实现中可能并非如此。

例如,尝试订阅或上的#主题。这些显示了大量可用的主题,并且没有管理员在后台支持它们。test.mosquitto.orgiot.eclipse.org

这基本上意味着您拥有的唯一管理负载是在需要时限制对代理的访问。

于 2014-03-04T18:46:06.983 回答
0

使用从某处窃取的代码,我为 Android 制作了一个非常简单的“MQTTMessenger”应用程序。https://bitbucket.org/mjgasner/mqttmessenger

据我所知,您需要进入 src/com/gasner/mqttmessenger/MessengerService.java 并将主机 ip 更改为 MQTT 服务器的 ip。对于 MQTT 服务器,我使用了 Mossquitto 服务器。

您还必须确保将端口 1883 转发到服务器。

我用它把股票号码发送到我的手机。已经快两年了,否则我可以告诉你更多。

C2DM 目录不相关。我当时也在玩的是谷歌的推送通知服务。

在 Bitbucket https://bitbucket.org/mjgasner的其他目录中,是我为与 MQTT 服务器通信而编写的 .NET 服务和 winforms 应用程序。该服务将通过服务器接受来自 android 应用程序的消息,并用它从 google 的 api 中提取的库存数量进行回复。

如果您还有其他问题,请在下方评论。

于 2014-03-04T17:52:58.720 回答