老IT的技术生活 潜水
  • 1发帖数
  • 1主题数
  • 0关注数
  • 0粉丝
开启左侧

phpmqtt之使用类方法作为procmsg回调函数

[复制链接]
老IT的技术生活 发表于 2021-9-7 23:29:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
好拗口的标题,但为了兼顾精简和达意,不得不如此了。如果有人表现有更好的表达,留言我改。
在物联网项目里,phpmqtt这个库是现在几乎最常见、利用最广泛的一个mqtt通讯类库。大部分涉及到mqtt通讯的项目几乎都会利用到它。利用该库来构建物联网设备的应用服务端,流程非常清晰:
1、订阅主题的同时,设置好消息处理函数;
2、死循环侦听处理。
下面这段步伐网上随处可见:
</p>可见,代码中的$top[&#39;function&#39;],也就是&#39;function&#39; => &#39;procmsg&#39;中的&#39;procmsg&#39;,可以利用array($obj,&#39;method_name&#39;)来表现。
以是,上述代码
// 订阅列表$topics = [    &#39;topic01&#39; => [&#39;qos&#39; => 0, &#39;function&#39; => &#39;procmsg&#39;],];就可以写成下面如许:
class example{  public function listen(){xxxxxx; // 省略其他代码// 订阅列表$procfunc = array($this, "procmsg");$topics = [    &#39;topic01&#39; => [&#39;qos&#39; => 0, &#39;function&#39; => $procfunc],];$mqtt->subscribe($topics, 0);while ($mqtt->proc()){}$mqtt->close();} public function procmsg($topic, $msg){          echo "hello\n";    echo "Msg Recieved: " . date("r") . "        Topic: {$topic}\n";    echo "\t$msg\n"; }}上述方法,利用的是类的实例。当然也可以利用静态类、静态方法。详细格式可以参考「链接」。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服邮箱
wxcy#wkgb.net

邮箱地址#换为@

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城