最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot實現(xiàn)簡單的消息對話的示例代碼

 更新時間:2023年09月03日 15:04:45   作者:曾幾何時…  
本文主要介紹了springboot實現(xiàn)簡單的消息對話的示例代碼,可以使用WebSocket技術(shù),WebSocket是一種在客戶端和服務(wù)器之間提供實時雙向通信的協(xié)議,具有一定的參考價值,感興趣的可以了解一下

一、前言

要在Spring Boot項目中實現(xiàn)消息對話,你可以使用WebSocket技術(shù)。WebSocket是一種在客戶端和服務(wù)器之間提供實時雙向通信的協(xié)議。

二、實戰(zhàn)步驟

步驟 1:

添加依賴 首先,在您的Spring Boot項目的pom.xml文件中添加以下依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

步驟 2:

創(chuàng)建WebSocket配置類 接下來,創(chuàng)建一個配置類來配置WebSocket相關(guān)的組件。例如,創(chuàng)建一個名為WebSocketConfig的類,并添加以下代碼:

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(chatWebSocketHandler(), "/chat").setAllowedOrigins("*");
    }
    @Bean
    public WebSocketHandler chatWebSocketHandler() {
        return new ChatWebSocketHandler();
    }
}

步驟 3:

創(chuàng)建WebSocket處理程序類 然后,創(chuàng)建一個WebSocket處理程序類來處理WebSocket連接和消息。例如,創(chuàng)建一個名為ChatWebSocketHandler的類,并添加以下代碼:

@Component
public class ChatWebSocketHandler extends TextWebSocketHandler {
    private static final List<WebSocketSession> sessions = new CopyOnWriteArrayList<>();
    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        sessions.add(session);
    }
    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        for (WebSocketSession client : sessions) {
            if (client.isOpen()) {
                client.sendMessage(message);
            }
        }
    }
    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
        sessions.remove(session);
    }
}

步驟 4:

創(chuàng)建前端頁面 接下來,您需要編寫一個前端頁面來與WebSocket進行通信。您可以使用JavaScript和HTML來實現(xiàn)此功能。以下是一個簡單的示例:

<!DOCTYPE html>
<html>
<head>
    <title>Chat</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        var socket = new WebSocket("ws://localhost:8080/chat");
        socket.onopen = function() {
            console.log("Connected to WebSocket");
        };
        socket.onmessage = function(event) {
            var message = event.data;
            console.log("Received message: " + message);
            // 在頁面上顯示收到的消息
            $("#messages").append("<p>" + message + "</p>");
        };
        function sendMessage() {
            var message = $("#message").val();
            socket.send(message);
        }
    </script>
</head>
<body>
    <input type="text" id="message" placeholder="Enter a message">
    <button onclick="sendMessage()">Send</button>
    <div id="messages"></div>
</body>
</html>

這是一個簡單的聊天界面,用戶可以在輸入框中輸入消息,并通過點擊“發(fā)送”按鈕將其發(fā)送給服務(wù)器。服務(wù)器將收到的消息廣播給所有連接的客戶端。

到此這篇關(guān)于springboot實現(xiàn)簡單的消息對話的示例代碼的文章就介紹到這了,更多相關(guān)springboot 消息對話內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談Java日志框架slf4j作用及其實現(xiàn)原理

    淺談Java日志框架slf4j作用及其實現(xiàn)原理

    日志記錄是應(yīng)用程序運行中必不可少的一部分。這篇文章主要介紹了淺談Java日志框架slf4j作用及其實現(xiàn)原理,SLF4J是一個日志框架抽象層,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 使用Sentinel自定義返回和實現(xiàn)區(qū)分來源方式

    使用Sentinel自定義返回和實現(xiàn)區(qū)分來源方式

    這篇文章主要介紹了使用Sentinel自定義返回和實現(xiàn)區(qū)分來源方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Java實現(xiàn)異步執(zhí)行的8種方式總結(jié)

    Java實現(xiàn)異步執(zhí)行的8種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)異步執(zhí)行的8種方式,異步編程不會阻塞程序的執(zhí)行,它將耗時的操作提交給后臺線程或其他執(zhí)行環(huán)境,并立即返回,使得程序可以繼續(xù)執(zhí)行其他任務(wù),需要的朋友可以參考下
    2023-09-09
  • java使用mybatis調(diào)用存儲過程返回一個游標結(jié)果集方式

    java使用mybatis調(diào)用存儲過程返回一個游標結(jié)果集方式

    這篇文章主要介紹了java使用mybatis調(diào)用存儲過程返回一個游標結(jié)果集方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringBoot引入SPEL模板字符串替換的兩種方式

    SpringBoot引入SPEL模板字符串替換的兩種方式

    在 Spring Boot 中,我們可以使用字符串替換工具類來實現(xiàn)這些功能,本文主要介紹了SpringBoot引入SPEL模板字符串替換的兩種方式,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • MyBatis映射文件中的動態(tài)SQL實例詳解

    MyBatis映射文件中的動態(tài)SQL實例詳解

    在本文中,我們深入探討了動態(tài)SQL的各種標簽,包括<if>、<choose>、<trim>、<foreach>等,通過實際的例子演示了它們的用法,感興趣的朋友一起揭開動態(tài)SQL的神秘面紗,帶你領(lǐng)略它的魅力
    2024-01-01
  • 淺談Java中類的實例化步驟

    淺談Java中類的實例化步驟

    今天小編就為大家分享一篇關(guān)于淺談Java中類的實例化步驟,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • springboot+feign+Hystrix整合(親測有效)

    springboot+feign+Hystrix整合(親測有效)

    本文主要介紹了springboot+feign+Hystrix整合,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • Mybatis-plus對單表操作的封裝實現(xiàn)

    Mybatis-plus對單表操作的封裝實現(xiàn)

    本文詳細介紹了MyBatis-Plus單表操作,包括自定義SQL、邏輯刪除、樂觀鎖、全局攔截器和代碼生成器等,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • Java實現(xiàn)讀取SFTP服務(wù)器指定目錄文件的方法

    Java實現(xiàn)讀取SFTP服務(wù)器指定目錄文件的方法

    SFTP是一種在安全通道上傳輸文件的協(xié)議,它是基于SSH(Secure Shell)協(xié)議的擴展,用于在客戶端和服務(wù)器之間進行加密的文件傳輸,這篇文章主要介紹了Java實現(xiàn)讀取SFTP服務(wù)器指定目錄文件,感興趣的朋友跟隨小編一起看看吧
    2023-08-08

最新評論

阿图什市| 科技| 兴海县| 河源市| 镇巴县| 南宫市| 蛟河市| 永嘉县| 石狮市| 象山县| 来安县| 常熟市| 辽阳县| 安泽县| 濉溪县| 永济市| 福建省| 文登市| 枞阳县| 稷山县| 麻阳| 元朗区| 崇信县| 长阳| 滦平县| 海南省| 德化县| 大城县| 赫章县| 乐清市| 内乡县| 凤庆县| 武义县| 孟村| 彭州市| 开化县| 岗巴县| 临沭县| 靖边县| 宝坻区| 长汀县|