подписка php MQTT не работает

Я установил брокер MQTT на мой компьютер с Windows из https://mosquitto.org/download/.

я использую https://github.com/bluerhinos/phpMQTT/tree/master/examples для публикации и подписки. Публикация работает как положено, но подписка не работает.

Я не понял, почему это не работает.
Требуется MQTT-брокер для подключения удаленного MQTT-сервера?
Я хочу реализовать метод публикации и подписки в PHP

Публиковать:

require("../phpMQTT.php");$mqtt = new phpMQTT("host", 1883, "124464646464/32"); //Change client name to something unique

if ($mqtt->connect()) {
echo "Connect Sucssfully";
try
{
$mqtt->publish("124464646464/Test","Hello HK123! at ".date("r"),0);
echo  "<br>publish done";
$mqtt->close();
}
catch(Exception $e)
{
echo $e;
}
}

Подписывайся:

ini_set('output_buffering','on');
require("../phpMQTT.php");$mqtt = new phpMQTT("host", 1883, "124464646464/27"); //Change client name to something unique

if(!$mqtt->connect()){
exit(1);
}

$topics['124464646464/Test'] = array("qos"=>0, "function"=>"procmsg");
$mqtt->subscribe($topics,0);

while($mqtt->proc()){

}$mqtt->close();

function procmsg($topic,$msg){
echo "Msg Recieved: ".date("r")."\nTopic:{$topic}\n$msg\n";
}

Ошибка:
неправильный заголовок подписки

Получить журнал ошибок формы хоста

Редактировать:

Я запустил скрипт подписки с помощью командной строки, и он всегда печатается
«eof receive собирается переподключиться для хорошей меры \ n» означает, что всегда получается из feof функция

код:

if(feof($this->socket)){
if($this->debug) echo "eof receive going to reconnect for good measure\n";
fclose($this->socket);
$this->connect_auto(false);
if(count($this->topics))
$this->subscribe($this->topics);
}

Я проверил свою страницу публикации, используя расширение chrome, подписался, используя расширение chrome, и он работает нормально, что-то неправильно в сокете чтения.

3

Решение

Обновите phpMQTT.php файл:

private $socket=8080;           /* holds the socket */
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]