如何在android中使用MQTT从php获取事件更新


How to get event updates from php using MQTT in android

我希望我的应用程序每分钟发送一个请求到服务器,看看是否有任何事件发生,以便它发送一个HTTP请求来获取新的数据。

我有一个服务器运行windows与WAMP和PHP。

我已经读了Dale的帖子,到处搜索和阅读,但我仍然不明白它是如何工作的!!

我希望PHP检查数据库的事件,然后如果有一个新的事件,它发送一个消息给代理,"foo发生了酒吧",然后客户端发送一个ping,看看是否有任何新的事件,然后根据从代理的消息,客户端知道它应该从服务器获取什么数据。

我想要一些完全像Telegram的推送更新。

你能告诉我如何使用mqtt很简单吗?我看过的所有教程都很难理解,太复杂了。

以及如何使用mosquito来实现这一点。(我已经在服务器上启动了mosquito服务,但不知道从哪里开始如何使用它)

谢谢。

MQTT是一个发布/订阅者协议,其中有一个代理(mosquito)和通过代理发布和订阅消息的客户端。消息有主题和有效负载(内容)。

在mosquito - to中,除了代理之外,你有2个客户端蚊to_pub和蚊to_sub。

一个典型的测试就像订阅一个主题:

mosquitto_sub -d -h localhost -p 1883 -t "myfirst/test"

然后其他客户端发布不同的内容到一个主题:

mosquitto_pub -d -h localhost -p 1883 -t "myfirst/test" -m "Sample content 1" mosquitto_pub -d -h localhost -p 1883 -t "myfirst/test" -m "Sample content 2" mosquitto_pub -d -h localhost -p 1883 -t "myfirst/test" -m "Sample content 3"

然后您将看到订阅者获得了内容。

python, c, c++, javascript &您可以使用Paho库:http://www.eclipse.org/paho/

对于php,您可以使用phpMQTT https://github.com/bluerhinos/phpMQTT或php包装器为蚊库:蚊- php https://github.com/mgdm/Mosquitto-PHP

但是你可以在这里看到不同的库:http://mqtt.org/wiki/doku.php/libraries