mqtt的链接不成功,不知道问题出在哪里

dorke

今天通过workerman/mqtt,去链接mqtt服务器,程序运行起来了,但是没有链接到服务器,然后没有任何提示,也没有看到更多地提示,请问怎么调试,给个思路。谢谢。   第三方工具都可以链接上服务器。

9025 4 0
4个回答

walkor

workerman用debug方式运行(启动的时候不加-d),mqtt也开debug方式,见mqtt手册,然后会有mqtt通讯相关的日志打印在控制台

  • dorke 2018-11-13

    debug模式应该都打开了,我用的 $options['debug ']=true; 这只的mqtt的模式debug,但是链接的时候还是不行。

  • dorke 2018-11-13

    $worker->onWorkerStart = function(){
    $options['username']='admin';
    $options['password']='admin';
    $options['debug ']=true;
    $mqtt = new Workerman\Mqtt\Client('mqtt://118.190.203.81:1883',$options);
    $mqtt->onConnect = function($mqtt) {
    $mqtt->subscribe('ibgw');
    var_dump($mqtt);
    };
    $mqtt->onMessage = function($topic, $content){
    var_dump($topic, $content);
    };
    $mqtt->connect();
    };

  • dorke 2018-11-13

    我用其他软件测试mqtt 服务器应该可以链接,没有问题

walkor

看下118.190.203.81的1883安全组和防火墙开了没,我这里连接118.190.203.81:1883地址超时

  • dorke 2018-11-14

    1883的端口已经 属于安全组的 白名单里 ,对 所有IP开放了,是不是 mqtt:// 这个 前缀有影响?我 用tcp的话 会提示很多 warnning ,也是链接不上。

  • dorke 2018-11-14

    下面我贴了一个用其他工具 订阅到的页面

dorke

  • 暂无评论
walkor

设置下 
$options = 'MQIsdp'; 
$options = 3;
应该是你的mqtt服务端不支持最新的mqtt协议
 
还有应该是$options=true; ,不是$options=true; ,多了个空格

年代过于久远,无法发表回答
🔝