WebSocket的簡單搭建和使用,(基礎入門篇)

2021-10-24 08:03:50 字數 2188 閱讀 3434

1、環境

2、先新建乙個springboot專案吧

首先的當然是依賴了,版本看自己需求吧,我用的是2.2.0:

org.springframework.boot

spring-boot-starter-websocket

2.2.0.release

服務端連線工具類ws:

@serverendpoint(value = "/ws")

@component

@slf4j

public class ws ", session.getid());

clients.put(session.getid(), session);

}/**

* 客戶端關閉

* @param session session

*/@onclose

public void onclose(session session) ", session.getid());

clients.remove(session.getid());

}/**

* 發生錯誤

* @param throwable e

*/@onerror

public void onerror(throwable throwable)

/*** 收到客戶端發來訊息

* @param message 訊息物件

*/@onmessage

public void onmessage(string message) ", message);

this.sendall(message);

}/**

* **訊息

* @param message 訊息內容

*/public void sendall(string message)

}public void sendmessage(string message)",message);

try catch (ioexception e) }}

}

客戶端配置類websocketconfig:

@configuration

public class websocketconfig

}

以上,服務端的**姑且是可以了。

然後我們來配置客戶端的(也就是前端),我這邊用的是vue,我們只用在js裡面的methods裡面定義乙個connect的方法,如下connectws:

connectws : function()else 

ws.onopen = function (event)

ws.onclose = function (event)

ws.onmessage = function (event)

ws.onerror = function ()

window.onbeforeunload = function ()

}

然後預設在構造器裡面啟動該方法,意為進入介面即連線。

這樣我們的websocket基本就搭建完成了。然後接下來我們就可以使用了。我們在後台對應的位置,比如某個資料入庫的地方,當我們資料入庫,我們就傳送乙個資料報過去。這裡我寫的是傳送字串可以傳json字串哈,後面有時間再來講更詳細的吧。我們接著來講傳送乙個字串。

3、最關鍵的使用,萬事俱備,只等發車了。

放在在後端資料更新的地方,或者定時啟動的執行緒的方法裡面即可使用。開袋即食,哈哈

@autowired

private ws ws; //注入工具類

private void testsendmsg()

然後在前端onmessage裡面就會收到我們傳送的 —「發車成功」 —了。

這個是我前段時間刷題,搭的乙個小專案,擷取了裡面的websocket部分,可能會有紕漏的地方,但是目測應該跑起來是沒問題的。文筆有限,如有錯誤,還望路過的大佬們指正!手動滑稽~~~~

提取碼:07mq

websocket 的簡單使用

我的應用場景是多連線使用者均會收到i系統訊息 由於webocket server原始碼的鏈結關閉日誌列印問題 以及需求增加websoket的token驗證所以這裡是直接copy了原始碼下來進行的修改 詳情見websocket.py檔案 舉例 class websocket object def in...

websocket簡單了解

websocket是html5規範中的乙個部分,它借鑑了socket這種思想,為web應用程式客戶端和服務端之間 注意是客戶端服務端 提供了一種全雙工通訊機制。同時,它又是一種新的應用層協議,websocket協議是為了提供web應用程式和服務端全雙工通訊而專門制定的一種應用層協議,通常它表示為 w...

WebSocket簡單通訊

天氣越來越冷了,我只想大吼一聲 五星紅旗迎風飄揚。話不多說,先上demo位址,親測可用。環境 android studio 3.1.0 jdk 1.8 主要 request request new request.builder url ws 此位址為官網測試位址,請更換為自己後台測試位址。位址一定...