因此,我对MQTT很陌生,我必须创建一个“消息传递”项目,在没有长时间加载的情况下加载索引页面中的所有消息(发送到特定主题),我正在使用Yii2框架高级项目,并且我已经完成了发布代码,在模型中我创建了AfterSave方法,每次它将一些东西保存到数据库中,它将一条消息发布到我的Raspberry中。
示例
我拥有一家酒店,每次我登录到我的后端时,我都希望在我的索引中包含MQTT蚊帐中发送到这个主题的所有预订请求(比如通知)。
就像我说的,我正在使用Yii2框架高级项目,我为MQTT使用的扩展是Bluerhinos\phpMQTT
我已经拥有的代码:
类模型ReservationRequest.php (因为我已经在shell中进行了测试),所以它正在工作并发送到主题中。
public function afterSave($insert, $changedAttributes) {
parent::afterSave($insert, $changedAttributes); // TODO: Change the autogenerated stub
if ($insert){
$this->publish("request-reservation", "New notification of a reservation request with the ID: '. $this->id . PHP_EOL");
}
}欢迎任何建议,谢谢您的关注。
发布于 2021-01-06 07:41:26
排序答案是你不知道。
MQTT不是消息队列系统。它将只对尚未传递给具有持久订阅的客户端的消息进行队列处理,该订阅在发送邮件时当前处于脱机状态。
你可能有两个选择
{ "room1": "occupied", "room2": "free",...},并设置保留的标志,以便在客户端订阅该主题时,始终将该消息的最新版本传递给客户端。https://stackoverflow.com/questions/65586745
复制相似问题