SpringBoot websocket廣播式應用

2021-09-06 13:18:45 字數 3355 閱讀 8224

1、建立乙個簡單的springboot

專案,推薦使用idea,這裡我只選擇了websocket,thymeleaf。

2、配置websocket,需要使用@enablewebsocketmessagebroker//註解開啟stomp協議來傳輸基於**(message broker)的訊息,並通過實現websocketmessagebrokerconfigurer,重寫其方法來配置websocket

注:springboot2.x之前的版本是繼承abstractwebsocketmessagebrokerconfigurer,目前已過時

package com.socket.websocket.config;

import org.springframework.context.annotation.configuration;

import org.springframework.messaging.simp.config.messagebrokerregistry;

import org.springframework.web.socket.config.annotation.enablewebsocketmessagebroker;

import org.springframework.web.socket.config.annotation.stompendpointregistry;

import org.springframework.web.socket.config.annotation.websocketmessagebrokerconfigurer;

/** * @classname websocketconfig

* @description todo 配置websocket

* @author shanzz

* @date 2018/12/29 15:55

* @version 1.0

**/@configuration

public class websocketconfig implements websocketmessagebrokerconfigurer

@override

public void configuremessagebroker(messagebrokerregistry registry)

}

3、瀏覽器向伺服器傳送訊息

package com.socket.websocket.domain;

/** * @classname socketmessage

* @description todo 瀏覽器向服務端傳送的訊息使用此類接收

* @author shanzz

* @date 2018/12/29 16:15

* @version 1.0

**/public class socketmessage

public void setname(string name)

}

4、伺服器向瀏覽器傳送訊息

package com.socket.websocket.domain;

/** * @classname socketresponse

* @description todo 服務端向瀏覽器傳送此類的訊息

* @author shanzz

* @date 2018/12/29 16:16

* @version 1.0

**/public class socketresponse

public string getresponsemessage()

public void setresponsemessage(string responsemessage)

}

5、演示控制器

package com.socket.websocket.controller;

import com.socket.websocket.domain.socketmessage;

import com.socket.websocket.domain.socketresponse;

import org.springframework.messaging.handler.annotation.sendto;

import org.springframework.stereotype.controller;

/** * @classname websocketcontroller

* @description todo 控制器

* @author shanzz

* @date 2018/12/29 16:21

* @version 1.0

**/@controller

public class websocketcontroller

}

6、演示頁面

位置:src\main\resources\templates\ws.html

需引入外部資源:

連線斷開連線

輸入你的名字

傳送

7、配置視**析器

package com.socket.websocket.config;

import org.springframework.context.annotation.configuration;

import org.springframework.web.servlet.config.annotation.viewcontrollerregistry;

import org.springframework.web.servlet.config.annotation.webmvcconfigurer;

/** * @classname webmvcconfig

* @description todo 配置viewcontroller 提供頁面的對映路徑

* @author shanzz

* @date 2018/12/29 16:48

* @version 1.0

**/@configuration

public class webmvcconfig implements webmvcconfigurer

}

8、執行程式http://localhost:8080/ws

開啟多個瀏覽器視窗,任意乙個連線向伺服器傳送訊息,其他瀏覽器都可以收到

如何手動啟動消防廣播 消防應急廣播應如何規範設定

消防應急廣播裝置 是指完整的消防應急廣播系統,通常包括 控制和指示裝置 聲頻功率放大器 傳聲器 揚聲器 廣播分配裝置 電源裝置等部分。是在火災或意外事故發生時通過控制功率放大器和揚聲器進行應急廣播的裝置,它的主要功能是向現場人員通報火災發生,指揮並引導現場人員疏散。基本功能 1 為了便於使用者使用和...

嵌入式linux系統的開發 SDK環境的應用

sdk軟體開發工具包 software development kit 是為軟體工程師在特定的平台上進行應用程式開發而提供的一系列軟體開發工具的集合。嵌入式linux發行版lede提供的sdk環境與發行版環境相相容,在sdk環境下進行程式開發,不像發行版那樣需要編譯整個linux系統,只需要指定特定...

Flink實操 廣播變數 累加器 分布式快取

三 累加器 四 分布式快取 flink支援廣播。可以將資料廣播到taskmanager上,資料儲存到記憶體中。資料儲存在記憶體中,這樣可以減緩大量的shuffle操作 比如在資料join階段,不可避免的就是大量的shuffle操作,我們可以把其中乙個datastream廣播出去,一直載入到taskm...