消息推送不會做?來看我怎麼做!

Springboot項目中如何使用WebSocket實現消息推送

首先,我們來說一下消息推送的應用場景

1.我們現在在飯店吃飯,好多飯店都有掃碼點餐自助下單的服務,那麼後廚或者是前臺是如何收到我們下單的信息,並且能夠及時的進行處理呢?

2.我們在網吧,你登錄英雄聯盟的時候,整個網吧總是會響起“坐在233號的玩家,是來自德瑪西亞的鑽石大神”。

3.還有等等一系列的推送服務。那麼消息推送到底是如何實現的呢?我們今天就來小小的探究一番。

接下來我們進入主題

1.首先我們需要在pom.xml中添加webSocket依賴,打開pom:

消息推送不會做?來看我怎麼做!

webSocket依賴添加

2.因為我們使用的是springboot項目,不使用配置文件,所以我們需要在項目啟動類同級目錄創建一個配置類WebSocketConfig.java

消息推送不會做?來看我怎麼做!

配置類

3.接下來就是編寫實現類WebSocket.java,通過該類對視圖層HTML、JSP進行消息推送,當然功能並不僅僅限制與此。

消息推送不會做?來看我怎麼做!

WebSocket-1

消息推送不會做?來看我怎麼做!

WebSocket-2

4.接下來我們需要定義在何時出發消息推送方法,一般我們將此類代碼放置在service業務邏輯層,例如:在飯店我們下單成功後,邏輯層接收到數據訪問層返回成功數據後,調用消息推送方法,將訂單信息等等所需數據推送至後廚或者是前臺。我在這裡以訂單為例:OrderServiceImpl.java中創建訂單的方法,webSocket可以像注入Dao層一樣注入,因為在上面我們已經進行了bean配置。

消息推送不會做?來看我怎麼做!

業務邏輯

如此我們就將“有心的訂單”這條消息發送到了WebSocket.java中,那麼在webSocket中就會將我們的消息推送到接收消息的客戶端。

那麼接下來我們就看看在HTMl、JSP這類視圖中是如何接受推送來的消息的。webSocket.js

消息推送不會做?來看我怎麼做!

視圖層

到現在,當有人下單時,你就可以在網頁f12的控制檯中看到“收到消息:有新的訂單啦!”這樣的消息。如果你放置了音樂,那麼你就可以聽到提示了。

結束語

1.webSocket的用途很廣泛,可以用來做簡單的消息推送,可以用來做一個即時的聊天通訊,新聞推送,公告發布等等。

2.非常感謝大家的關注,往後同樣,乾貨不斷,大家多多支持關注我!!!感謝!!!


分享到:


相關文章: