【问题标题】:Rabbit MQTT client in PHP?PHP 中的 Rabbitmq MQTT 客户端?
【发布时间】:2017-09-07 09:38:40
【问题描述】:

我是 MQTT 的新手。任何人都可以帮助如何在 PHP 中使用 Rabbitmq mqtt,我在云中有 MQTT 代理,所以我想在我的本地系统中基于 PHP 进行开发。我们要下载任何库吗?任何人都可以在 Ubuntu 中提供帮助吗?

【问题讨论】:

    标签: phpmqtt


    【解决方案1】:

    您可以使用客户端库:https://github.com/bluerhinos/phpMQTT,如下所述:https://www.cloudamqp.com/docs/php_mqtt.html

    出版商

    require("phpMQTT.php");
    $host = "hostname";
    $port = port;
    $username = "username";
    $password = "password";
    $message = "Hello CloudAMQP MQTT!";
    
    //MQTT client id to use for the device. "" will generate a client id     automatically
    $mqtt = new phpMQTT($host, $port, "ClientID".rand());
    
    if ($mqtt->connect(true,NULL,$username,$password)) {
      $mqtt->publish("topic",$message, 0);
      $mqtt->close();
    }else{
      echo "Fail or time out";
    }
    

    订阅者

    require("phpMQTT.php");
    
    $host = "hostname";
    $port = port;
    $username = "username";
    $password = "password";
    
    $mqtt = new phpMQTT($host, $port, "ClientID".rand());
    
    if(!$mqtt->connect(true,NULL,$username,$password)){
      exit(1);
    }
    
    //currently subscribed topics
    $topics['topic'] = array("qos"=>0, "function"=>"procmsg");
    $mqtt->subscribe($topics,0);
    
    while($mqtt->proc()){
    }
    
    $mqtt->close();
    function procmsg($topic,$msg){
      echo "Msg Recieved: $msg";
    }   
    

    所有 CloudAMQP 服务器默认启用 MQTT,因此如果您使用 CloudAMQP 作为 MQTT 代理,则无需启用 MQTT 插件。如果没有,你需要启用这个插件:https://www.rabbitmq.com/mqtt.html

    【讨论】:

      猜你喜欢
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多