我在PHP中使用一个简单的MQTT客户端 - https://github.com/sskaje/mqtt - 并希望从代理中正确检索一条消息(保留 - 始终存在),然后将其显示在页面上。一切都很好,但我不能让它显示整个页面。它显示"测试文本1",然后调试代码,然后是我的消息,然后停在那里,不显示"测试文本2"也没有"测试文本3"。如果有人愿意帮助我,我会非常感激,因为我根本不知道什么是不行的,并且花了很多时间来研究它。谢谢!
Test Text 1
<?php
require('spMQTT.class.php');
$mqtt = new spMQTT('tcp://127.0.0.1:1883/');
spMQTTDebug::Enable();
$mqtt->setKeepalive(5);
$connected = $mqtt->connect();
if (!$connected) {
die("Not connected\n");
}
$topics['#'] = 0;
$mqtt->subscribe($topics);
$mqtt->loop('default_subscribe_callback');
$mqtt->unsubscribe(array_keys($topics));
printf("Test Text 2");
/**
* @param spMQTT $mqtt
* @param string $topic
* @param string $message
*/
function default_subscribe_callback($mqtt, $topic, $message) {
printf("Message received: Topic=%s, Message=%s\n", $topic, $message);
break;
}
?>
Test Text 3
答案 0 :(得分:1)
我不熟悉那个mqtt库,但它看起来非常像对loop()
的调用阻塞,所以你必须以不同的方式解决问题。