国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot整合websocket教程

這篇具有很好參考價(jià)值的文章主要介紹了springboot整合websocket教程。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Websocket是一種網(wǎng)絡(luò)協(xié)議,它允許瀏覽器和服務(wù)器之間進(jìn)行實(shí)時(shí)雙向數(shù)據(jù)傳輸。

在本教程中,我們將創(chuàng)建一個(gè)簡單的聊天應(yīng)用程序,使用Websocket實(shí)現(xiàn)實(shí)時(shí)通信。

  1. 添加依賴

我們需要添加Spring Boot Websocket依賴,以便我們可以使用Spring Boot中提供的Websocket支持。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
  1. 配置WebSocket

在Spring Boot應(yīng)用程序中,我們需要配置WebSocket,以便我們可以使用它。我們可以使用@Configuration注解來配置WebSocket。

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(chatWebSocketHandler(), "/chat");
    }

    @Bean
    public WebSocketHandler chatWebSocketHandler() {
        return new ChatWebSocketHandler();
    }

}

在上面的代碼中,我們使用@EnableWebSocket注解啟用WebSocket并實(shí)現(xiàn)WebSocketConfigurer接口。在registerWebSocketHandlers()方法中,我們將ChatWebSocketHandler注冊(cè)為處理程序,并將其映射到“/ chat”端點(diǎn)。

  1. 編寫處理程序

現(xiàn)在,我們需要編寫一個(gè)處理程序來處理WebSocket請(qǐng)求,并處理聊天消息。我們將創(chuàng)建一個(gè)名為ChatWebSocketHandler的類來處理WebSocket請(qǐng)求。

public class ChatWebSocketHandler extends TextWebSocketHandler {

    private final List<WebSocketSession> sessions = new CopyOnWriteArrayList<>();

    @Override
    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
        sessions.add(session);
    }

    @Override
    public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
        for (WebSocketSession s : sessions) {
            if (s.isOpen() && !s.equals(session)) {
                s.sendMessage(message);
            }
        }
    }

    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
        sessions.remove(session);
    }
}

在上面的代碼中,我們實(shí)現(xiàn)了TextWebSocketHandler類,并覆蓋了afterConnectionEstablished()、handleTextMessage()和afterConnectionClosed()方法。在afterConnectionEstablished()方法中,我們將WebSocketSession添加到sessions列表中。在handleTextMessage()方法中,我們將接收到的消息廣播給所有連接的客戶端。在afterConnectionClosed()方法中,我們將WebSocketSession從sessions列表中刪除。

  1. 編寫客戶端代碼

我們可以使用JavaScript編寫客戶端代碼來連接WebSocket并發(fā)送消息。

var socket = new WebSocket("ws://" + window.location.host + "/chat");

socket.onopen = function() {
    console.log("Connected to WebSocket server");
};

socket.onmessage = function(event) {
    var message = JSON.parse(event.data);
    console.log("Received message: " + message.content);
};

socket.onclose = function(event) {
    console.log("Disconnected from WebSocket server");
};

function sendMessage() {
    var message = document.getElementById("message").value;
    socket.send(JSON.stringify({content: message}));
}

在上面的代碼中,我們創(chuàng)建了一個(gè)WebSocket對(duì)象并使用onopen、onmessage和onclose事件處理程序來處理WebSocket連接的不同狀態(tài)。我們還定義了一個(gè)sendMessage()函數(shù)來發(fā)送消息。

  1. 運(yùn)行應(yīng)用程序

現(xiàn)在,我們已經(jīng)完成了應(yīng)用程序的編寫和配置。可以在瀏覽器中打開應(yīng)用程序,并使用不同的標(biāo)簽頁或?yàn)g覽器窗口打開相同的應(yīng)用程序,并開始聊天。

總結(jié)

在本教程中,我們?cè)赟pring Boot應(yīng)用程序中使用Websocket,創(chuàng)建了一個(gè)簡單的聊天應(yīng)用程序。文章來源地址http://www.zghlxwxcb.cn/news/detail-422434.html

到了這里,關(guān)于springboot整合websocket教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • WebSocket--整合springboot

    目錄 握手?jǐn)r截器 WebSocket處理程序 HttpSessionHandshakelnterceptor (抽象類):? ?握手?jǐn)r截器,在握手前后添加操作 AbstractWebSocketHandler (抽象類) :? ?WebSocket處理程序,監(jiān)聽連接前,連接中,連接后WebSocketConfigurer (接口):? ? 配置程序,比如配置監(jiān)聽哪個(gè)端口,上面的握手?jǐn)r截器,處理

    2024年01月16日
    瀏覽(31)
  • [超詳細(xì)]SpringBoot整合WebSocket

    WebSocket 是一種在單個(gè) TCP 連接上進(jìn)行全雙工通信的協(xié)議,它允許在瀏覽器和服務(wù)器之間進(jìn)行實(shí)時(shí)的、雙向的通信。相對(duì)于傳統(tǒng)的基于請(qǐng)求和響應(yīng)的 HTTP 協(xié)議,WebSocket 提供了一種更有效、更實(shí)時(shí)的通信方式,適用于需要實(shí)時(shí)更新、實(shí)時(shí)通知和實(shí)時(shí)交互的應(yīng)用。 WebSocket 的一些關(guān)

    2024年02月11日
    瀏覽(19)
  • WebSocket整合springboot顯示進(jìn)度條

    WebSocket整合springboot顯示進(jìn)度條

    SpringBoot整合WebScoket顯示進(jìn)度條 - 鐘小嘿 - 博客園 對(duì)于大文件上傳解析,若直接上傳,會(huì)超時(shí),可使用WebSocket長鏈接方式實(shí)時(shí)顯示文件的上傳狀態(tài),實(shí)際上是從文件上傳到內(nèi)容解析完成存入數(shù)據(jù)庫的過程,各個(gè)階段的進(jìn)度可自定義。 本文使用SpringBoot+WebSocket+vue2.0+Element+nginx實(shí)

    2024年02月14日
    瀏覽(20)
  • 【十六】springboot整合WebSocket(超詳細(xì))

    【十六】springboot整合WebSocket(超詳細(xì))

    ?springboot篇章整體欄目:? 【一】springboot整合swagger(超詳細(xì) 【二】springboot整合swagger(自定義)(超詳細(xì)) 【三】springboot整合token(超詳細(xì)) 【四】springboot整合mybatis-plus(超詳細(xì))(上) 【五】springboot整合mybatis-plus(超詳細(xì))(下) 【六】springboot整合自定義全局異常處

    2023年04月09日
    瀏覽(20)
  • (一)SpringBoot 整合WebSocket 前端 uniapp 訪問

    (一)SpringBoot 整合WebSocket 前端 uniapp 訪問

    第一次使用WebSocket,所以最需要一個(gè)及其簡單的例子,跑通之后,增加自己對(duì)該技術(shù)的理解。(技術(shù)基礎(chǔ)介紹就免掉了,后面再補(bǔ)) ?案例邏輯:目前只有一個(gè)用戶,而且是一個(gè)用戶給服務(wù)器發(fā)送數(shù)據(jù),服務(wù)給該用戶返回?cái)?shù)據(jù) 此處的邏輯一共三步 第一步,添加依賴項(xiàng) 第二步

    2024年02月10日
    瀏覽(19)
  • SpringBoot整合Netty+Websocket實(shí)現(xiàn)消息推送

    ? ? ? ?Netty是一個(gè)高性能、異步事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用框架,用于快速開發(fā)可維護(hù)的高性能協(xié)議服務(wù)器和客戶端。以下是Netty的主要優(yōu)勢(shì): 高性能 :Netty基于NIO(非阻塞IO)模型,采用事件驅(qū)動(dòng)的設(shè)計(jì),具有高性能的特點(diǎn)。它通過零拷貝技術(shù)、內(nèi)存池化技術(shù)等手段,進(jìn)一步提高

    2024年01月20日
    瀏覽(21)
  • SpringBoot+Vue整合WebSocket實(shí)現(xiàn)實(shí)時(shí)通訊

    SpringBoot+Vue整合WebSocket實(shí)現(xiàn)實(shí)時(shí)通訊

    ????????在開發(fā)過程中,我們經(jīng)常遇到需要對(duì)前臺(tái)的列表數(shù)據(jù),實(shí)現(xiàn)實(shí)時(shí)展示最新的幾條數(shù)據(jù),或者是調(diào)度的任務(wù)進(jìn)度條實(shí)現(xiàn)實(shí)時(shí)的刷新......,而對(duì)于這種需求,無狀態(tài)的http協(xié)議顯然無法滿足我們的需求,于是websocket協(xié)議應(yīng)運(yùn)而生。websocket協(xié)議本質(zhì)上是一個(gè)基于tcp的協(xié)議

    2024年02月13日
    瀏覽(24)
  • SpringBoot+Vue 整合websocket實(shí)現(xiàn)簡單聊天窗口

    SpringBoot+Vue 整合websocket實(shí)現(xiàn)簡單聊天窗口

    1 輸入臨時(shí)名字充當(dāng)賬號(hào)使用 2 進(jìn)入聊天窗口 3 發(fā)送消息 (復(fù)制一個(gè)頁面,輸入其他名字,方便展示效果) 4 其他窗口效果 pom依賴 WebSocketConfig.java WebSocketServer.java MessageVo.java App.vue

    2024年02月09日
    瀏覽(24)
  • Springboot整合WebSocket實(shí)現(xiàn)主動(dòng)向前端推送消息

    Springboot整合WebSocket實(shí)現(xiàn)主動(dòng)向前端推送消息

    ? ? ? ? 在上篇文章tcp編程中,我們實(shí)現(xiàn)了C++客戶端與java服務(wù)器之間的通信,客戶端發(fā)送了一個(gè)消息給服務(wù)器,今天我們要實(shí)現(xiàn)基于WebSocket實(shí)現(xiàn)服務(wù)器主動(dòng)向前端推送消息,并且以服務(wù)器接收到C++客戶端的消息主動(dòng)向前端推送消息的觸發(fā)條件。 WebSocket 的誕生背景 ??????

    2024年03月16日
    瀏覽(23)
  • Springboot 整合 WebSocket ,使用STOMP協(xié)議 ,前后端整合實(shí)戰(zhàn) (一)(1)

    Springboot 整合 WebSocket ,使用STOMP協(xié)議 ,前后端整合實(shí)戰(zhàn) (一)(1)

    server: port: 9908 3.WebSocketConfig.java 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.springfra

    2024年04月25日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包