【问题标题】:php,mqtt: stream_socket_client(): unable to connect to <server><port>php,mqtt: stream_socket_client(): 无法连接到 <server><port>
【发布时间】:2019-02-25 22:05:33
【问题描述】:

伙计们,我正在尝试订阅 cloudmqtt 免费赠品服务器中的主题。 服务器:cloudMQTT

库:phpMQTT.php

发布主题似乎完美无缺, 但每当我执行 php 文件时,它都会给我以下错误

错误:

致命错误:超过 30 秒的最大执行时间 F:\xampp\htdocs\bus_track\live\phpMQTT.php 在第 321 行

PHP 代码:

<?php
require("phpMQTT.php");
$server   = "***.cloudmqtt.com"; 
$port     = ******;
$username = "*******";
$password = "********";
$mqtt = new bluerhinos\phpMQTT($server, $port, "ClientID".rand());
//$top=$_GET['topic'];
if(!$mqtt->connect(true,NULL,$username,$password)){
  exit(1);
}


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

while($mqtt->proc()){
}

$mqtt->close();
function procmsg($topic,$msg){
  echo "Msg Recieved: $msg";
}
?>

【问题讨论】:

    标签: php server mqtt broker


    【解决方案1】:

    连接正常。

    您的代码中有一个无限循环:

    while($mqtt->proc()){
    }
    

    所以这部分永远不会结束,因此运行时达到 30 秒时会出现错误消息。

    【讨论】:

    • 好的,我明白了,但是有什么办法可以继续监听消息.. 这样它就会自动更新我数据库中的表..
    • 我想要做的是,我想跟踪我的手机并将它的坐标实时存储到数据库中,我需要使用 mqtt 来做到这一点......来自老师的严格命令
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 2020-11-03
    • 2021-11-21
    相关资源
    最近更新 更多