【问题标题】:php MQTT subscribe not workphp MQTT订阅不起作用
【发布时间】:2016-08-25 06:30:26
【问题描述】:

我已经在我的 Windows 机器上从https://mosquitto.org/download/ 安装了 MQTT 代理。

我使用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 going to reconnect for good measure\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 扩展进行订阅,它工作正常意味着读取套接字有问题。

【问题讨论】:

  • 显示一些代码,你怎么知道发布工作正常?
  • 您的代码仅显示发布步骤,请包含您的订阅代码,因为您所说的那部分不起作用
  • @hardillb:添加订阅代码
  • 你解决了吗?
  • @German: 不,我什么也没找到。

标签: php mqtt phpmqtt


【解决方案1】:

更新phpMQTT.php 文件:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多