国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于使用mqtt做異步消息分發(fā)問題

萌萌噠

問題描述

我單獨(dú)開了一個進(jìn)程,異步請求數(shù)據(jù)后,往mqtt里面publish數(shù)據(jù),但是我發(fā)現(xiàn)一個問題,在new mqtt client的時候,如果寫在onMessage里面,就會出現(xiàn)很多mqtt連接,如果寫在onMessage外面,則會只publish一次,導(dǎo)致沒有后續(xù)數(shù)據(jù),我現(xiàn)在只能publish一次后,close掉,然后重新connect 然后重新close。不知道我這種處理方式合理嗎?有沒有更好的處理方式?

796 2 0
2個回答

walkor 打賞

寫一個類或者函數(shù)把mqtt連接實例存起來,用的時候取出來調(diào)用

例如寫一個函數(shù)放在 app/functions.php 下

function mqtt_connection()
{
    static $connection;
    if (!$connection) {
        $connection = new Client('mqtt://...');
    }
    return $connection;
}

寫一個類用staitc屬性存儲連接示例也是一樣的道理

  • 萌萌噠 2024-02-23

    這么寫我也試了 只往里面publish一次數(shù)據(jù),后面就不會publish了

  • walkor 2024-02-23

    可能你哪里寫的有問題

  • 萌萌噠 2024-02-23

    就是不知道哪里的問題,我現(xiàn)在一直new 然后close, 雖然效果有,但是感覺這么寫不太合理。

萌萌噠

已處理
先連接mqtt, 在mqtt onConnect 里面 在連接異步連接

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??