workerman mqtt插件问题

0
for ($a = 0 ;$a<500;$a++){
echo "a = ".$a."||||";
$mqtt->publish( "/1805705204f0468788/getGeneral",$a,);
usleep(500000);
}

只能发送100个到mqtt服务器上,剩余400个虽然循环 还在执行,但是mqtt服务器就收不到了。不知道为什么求大神解答,mqtt服务器问题已经排除

已邀请:

dmjlovehj - 90后IT男

赞同来自:

不要沉贴呀,,性命攸关呀

six

赞同来自:

workerman里不让用sleep吧

six

赞同来自:

sleep会让进程睡眠,感觉会影响mqtt消息的确认吧。
试下这个


function publish($a) {
    $b = $a + 1;
    if ($b &gt;= 500) return;
    $mqtt-&gt;publish( &quot;/1805705204f0468788/getGeneral&quot;,$a,, function()use($b){
         Timer::add(0.5, 'publish', , false);
    });
}
publish(0);

lxy

赞同来自:

抱歉来晚了,我用你的程序测试了一下能接收4百多个


图片


图片
 

要回复问题请先登录注册