91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何二次封裝MQTT開源組件moquette

發布時間:2021-12-06 16:52:01 來源:億速云 閱讀:619 作者:iii 欄目:互聯網科技

本篇內容主要講解“如何二次封裝MQTT開源組件moquette”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何二次封裝MQTT開源組件moquette”吧!

什么是moquette

moquette是一款開源的消息代理,整個系統基于java開發,以netty為基礎完整實現了MQTT協議的。

封裝的目的

單純靠moquette直接使用到項目上確實有些不太好用,通過需求做一定量的封裝使用更方便。

下面開始對moquette的封裝做一定的記錄

封裝的內容

1.封裝主要涉及內容有跟隨SpringBoot啟動同時啟動mqtt服務器

2.封裝服務器對客戶端發送消息功能、封裝判斷客戶端是否在線、封裝服務器向設備發送消息并獲取返回值

目錄:

    java目錄下:

            config: 配置類文件

            handler: 客戶端連接和消息處理類文件

            server: 封裝了moquette的消息發送類

            utils: 需要使用到的工具類

    resources目錄下:

            mqtt: mqtt服務的端口、賬號、秘密等配置信息

如何二次封裝MQTT開源組件moquette

配置類文件:

MqttBrokerConfiguration.java:創建moquette的Server在Spring自動注入對象

MqttBrokerRunConfiguration.java:mqtt服務隨SpringBoot項目啟動配置類

MqttCustomConfig.java:管理mqtt需要使用到的Topic

如何二次封裝MQTT開源組件moquette

客戶端連接處理類:

下面2個類都是處理客戶端的連接、斷開連接、接收客戶端消息等事件功能,主要區分不同的使用場景,主要都是實現了moquette提供的 AbstractInterceptHandler類

如何二次封裝MQTT開源組件moquette

發送消息到客戶端類:

如何二次封裝MQTT開源組件moquette

使用說明:

1.接收客戶端數據API:實現AbstractInterceptHandler類重寫onPublish函數就能通過onPublish函數接收客戶端的消息。2.判斷客戶端是否在線APIMqttServer.isOnline(clientId)3.發送消息到客戶端此方法適用設備提供了接口與參數類型數量等消息發送,并且會獲得對應的返回值,但是需要客戶端處理完數據之后再向服務器推送一條特定topic的消息,雙方約定好消息topicMqttServer.luatInvoke(clientId,apiTag,params)clientId:客戶端IDapiTag:客戶端接口名稱params:參數此方法適用于客戶端沒提供接口等消息發送,并且會獲得對應的返回值,但是需要客戶端處理完數據之后再向服務器推送一條特定topic的消息,雙方約定好消息topicMqttServer.pubAndSub(clientId,rrpcCmd,topicPub,topicSub)clientId:客戶端IDrrpcCmd:發送的消息topicPub:客戶端訂閱的topictopicSub:客戶端返回消息發送的topic

MQTT客戶端通過TCP協議連接服務器,向服務器發送消息,服務器的AbstractInterceptHandler.onPublish(msg)接口能接收任何從各個客戶端發送的消息。同時客戶端需要監聽回調函數,保證接收到服務器的消息。MQTT服務器向客戶端發送消息之后有8秒鐘時間等待客戶端發布指定topic消息,服務器接收到的時候把它當成一個返回值處理

封裝后的代碼路徑:https://gitee.com/winfongs/mqtt

到此,相信大家對“如何二次封裝MQTT開源組件moquette”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

加查县| 肇源县| 麻栗坡县| 丰镇市| 西乌珠穆沁旗| 桐乡市| 怀柔区| 昂仁县| 九寨沟县| 临海市| 和硕县| 平阴县| 东乡县| 鄯善县| 永泰县| 老河口市| 西吉县| 容城县| 宁武县| 莱芜市| 平舆县| 峨眉山市| 德钦县| 扎囊县| 沐川县| 江永县| 东源县| 孙吴县| 黄骅市| 贺州市| 丰顺县| 阳曲县| 大渡口区| 铜陵市| 荔波县| 临桂县| 二连浩特市| 中西区| 铜山县| 新兴县| 德阳市|