如何防止在蚊子发布和订阅之间发生冲突?

问题描述 投票:0回答:1

情况是,我使用Mosquitto-alpha用PHP脚本语言创建了一个mqtt客户端。所以我有一个订阅函数,它可以无限运行以每分钟从设备获取数据例如

我在服务器内部运行了php / path / to / my / file / MyPHPscript订阅&

在客户端设备中,我每分钟运行2个服务以将数据发布到mqtt代理

e.g
* * * * * php /path/to/my/file/MyPHPScript publish dataA
* * * * * sleep 2; php /path/to/my/file/MyPHPScript publish dataB

如果我在运行第二项服务之前没有睡2秒钟,那么假定两个数据不会在同一分钟内一起发布。然后,如果我在设备中添加订阅以捕获来自服务器的消息,则它将通过两个cron服务进行不间断的数据推送]

e.g  

    * * * * * php /path/to/my/file/MyPHPScript publish dataA
    * * * * * sleep 2; php /path/to/my/file/MyPHPScript publish dataB

在另一个终端上我运行了此>

php /path/to/my/file/MyPHPScript subscribe serverData &

上面的代码扰乱了其他两个cron服务的数据传输...是否有办法使这三个cron每分钟正常工作而没有冲突?

[情况是,我使用Mosquitto-alpha用PHP脚本语言创建了一个mqtt客户端。所以我有一个订阅函数,它可以无限运行以每分钟从设备获取数据,例如...

php mqtt iot mosquitto
1个回答
0
投票

通过更改pub和sub命令使用的客户端ID进行修复

© www.soinside.com 2019 - 2024. All rights reserved.