1、環境
2、先新建乙個springboot專案吧
首先的當然是依賴了,版本看自己需求吧,我用的是2.2.0:
服務端連線工具類ws:org.springframework.boot
spring-boot-starter-websocket
2.2.0.release
客戶端配置類websocketconfig:@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) }}
}
以上,服務端的**姑且是可以了。@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、最關鍵的使用,萬事俱備,只等發車了。
放在在後端資料更新的地方,或者定時啟動的執行緒的方法裡面即可使用。開袋即食,哈哈
然後在前端onmessage裡面就會收到我們傳送的 —「發車成功」 —了。@autowired
private ws ws; //注入工具類
private void testsendmsg()
這個是我前段時間刷題,搭的乙個小專案,擷取了裡面的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 此位址為官網測試位址,請更換為自己後台測試位址。位址一定...