使用SpringBoot演示一個(gè)簡(jiǎn)單的基于WebSocket通信示例。
創(chuàng)建SpringBoot工程通過Intellij IDEA工具創(chuàng)建一個(gè)新的SpringBoot工程,并添加啟動(dòng)類WebsocketApplication。添加依賴包在pom.xml文件中引入netty
創(chuàng)建SpringBoot工程
通過Intellij IDEA工具創(chuàng)建一個(gè)新的SpringBoot工程,并添加啟動(dòng)類WebsocketApplication。
添加依賴包
在pom.xml文件中引入netty-websocket-spring-boot-starter和spring-boot-starter-web兩個(gè)依賴包,如下所示:
```xml
```
配置WebSocket
添加配置注入ServerEndpointExporter,用于自動(dòng)注冊(cè)所有的@ServerEndpoint注解,如下所示:
```java
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}
```
編寫WebSocket服務(wù)端代碼
在WebSocketServer類上添加@ServerEndpoint注解,并設(shè)置WebSocket的port、path等信息,如下所示:
```java
@ServerEndpoint("/websocket")
public class WebSocketServer {
@OnOpen
public void onOpen(Session session) {
// 連接建立時(shí)的操作
}
@OnClose
public void onClose(Session session) {
// 連接關(guān)閉時(shí)的操作
}
@OnMessage
public void onMessage(String message, Session session) {
// 接收到消息時(shí)的操作
}
@OnError
public void onError(Throwable error) {
// 發(fā)生錯(cuò)誤時(shí)的操作
}
}
```
編寫WebSocket客戶端代碼
在瀏覽器端新建一個(gè)文件,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的WebSocket實(shí)例,如下所示:
```html
```
演示驗(yàn)證
打開瀏覽器,訪問頁面。在輸入框中輸入測(cè)試字符,點(diǎn)擊發(fā)送按鈕即可向服務(wù)器發(fā)送消息。服務(wù)器收到消息后會(huì)將消息返回給客戶端,并在頁面上顯示接收到的消息。
這樣就成功建立了WebSocket連接,并進(jìn)行了簡(jiǎn)單的通信。
注意:在實(shí)際應(yīng)用中,需要根據(jù)具體需求來處理WebSocket的業(yè)務(wù)邏輯,并進(jìn)行相應(yīng)的安全性控制和異常處理。