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

SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題

這篇具有很好參考價(jià)值的文章主要介紹了SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

最近公司有個(gè)大屏,需要做一個(gè)實(shí)時(shí)報(bào)警的功能,這就用到了webSocket技術(shù),這個(gè)帖子就用來(lái)記錄學(xué)習(xí)過程中的遇到的問題,如下是想要達(dá)到的效果圖

SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題

?1.第一步肯定是先導(dǎo)入依賴

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

這里記錄第一個(gè)坑點(diǎn),就是可能有的小伙伴會(huì)在啟動(dòng)的時(shí)候報(bào)錯(cuò),這個(gè)是因?yàn)閣ebsocket和tomcat有沖突,需要取消tomcat和測(cè)試的依賴,因?yàn)槲矣玫氖莚uoyicloudplus 所以取消了common-web 和 test的依賴,項(xiàng)目就能順利啟動(dòng)了~

2.編寫config和方法類

這步都很簡(jiǎn)單,我是直接用的注解

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.util.concurrent.CopyOnWriteArraySet;

/**
 * @author nxy
 */
@Component
@ServerEndpoint(value = "/websocket",subprotocols = {"protocol"})
@Slf4j
public class WebSocket {
    private Session session;

    private static CopyOnWriteArraySet<WebSocket> webSocketSet = new CopyOnWriteArraySet<>();

    @OnOpen
    public void onOpen(Session session){
        this.session=session;
        webSocketSet.add(this);
        log.info("webSocket 消息有新推送,連接總數(shù){}",webSocketSet.size());

    }

    @OnClose
    public void onClose( ){
        webSocketSet.remove(this);
        log.info("webSocket 有連接斷開,連接總數(shù){}",webSocketSet.size());

    }

    @OnMessage
    public void onMessage(String message ){
        log.info("收到客戶端發(fā)來(lái)的消息{}",message);

    }

    /**
     * 廣播發(fā)送消息
     * @param message 信息內(nèi)容
     */
    public void sendMessage(String message){
        for(WebSocket webSocket:webSocketSet){
            log.info("廣播消息{}",message);

            try {
                webSocket.session.getBasicRemote().sendText(message);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

/**
 * websocket 配置
 *
 * @author ruoyi
 */
@Configuration
public class WebSocketConfig
{
    @Bean
    public ServerEndpointExporter serverEndpointExporter()
    {
        return new ServerEndpointExporter();
    }
}

大概寫完這些就可以愉快的應(yīng)用websocket的 大概有的人可能會(huì)遇到我的問題,就是可以連接成功,但是會(huì)立刻斷開,這個(gè)問題也困惑了我兩天,終于在摸魚中無(wú)意間發(fā)現(xiàn)了問題。就是我的這個(gè)框架是有鑒權(quán)的,但是大屏是不會(huì)登錄的,我當(dāng)時(shí)只是在gateway白名單上加了頭路徑,還需要在SecurityConfiguration中把子模塊的路徑配置進(jìn)去?。。。。。∠旅媸俏揖W(wǎng)關(guān)和配置的截圖

SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題

切記 一定要加?。?!

做完這些就可以在業(yè)務(wù)代碼上直接應(yīng)用了

?我這就大概寫個(gè)例子

?SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題

?接下來(lái)讓我們測(cè)試一下,先添加信息

?SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題

?SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題

?成功收到,大功告成文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-502598.html

到了這里,關(guān)于SpringCloudAlibaba 應(yīng)用webSocket,解決連接成功后會(huì)立刻斷開等問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • Navicat數(shù)據(jù)庫(kù)連接成功,密碼忘記如何解決

    Navicat數(shù)據(jù)庫(kù)連接成功,密碼忘記如何解決

    文章轉(zhuǎn)載自:Navicat已經(jīng)成功連接,密碼忘記的解決方法_鐵打的阿秀的博客-CSDN博客 解決方法 目錄 解決方法 一:通過注冊(cè)表找到數(shù)據(jù)庫(kù)連接的密碼,再通過PHP解密 二.通過Navicat導(dǎo)出連接,找到連接密碼,再通過PHP進(jìn)行解密 一:通過注冊(cè)表找到數(shù)據(jù)庫(kù)連接的密碼,再通過PHP解

    2024年02月11日
    瀏覽(20)
  • 解決grpc連接Dial成功狀態(tài)卻變?yōu)門ransientFailure

    ?如有幫助,歡迎留下足跡哦! 詳情如下 code = Unavailable desc = connection error: desc = \\\"transport: Error while dialing dial tcp 192.168.31.33:9001:? connectex: No connection could be made because the target machine actively refused it.\\\" 此時(shí)連接狀態(tài)為? TransientFailure 目錄 背景 現(xiàn)象匯總 分析與解決 總結(jié)與附錄 GRP

    2024年02月03日
    瀏覽(23)
  • 電腦休眠喚醒后會(huì)出現(xiàn)屏幕閃爍問題怎么徹底解決?

    電腦休眠喚醒后會(huì)出現(xiàn)屏幕閃爍問題怎么徹底解決?

    電腦休眠喚醒后會(huì)出現(xiàn)屏幕閃爍問題怎么徹底解決?有的用戶在電腦待機(jī)休眠之后,重新去喚醒電腦使用,這個(gè)時(shí)候電腦屏幕就會(huì)出現(xiàn)驗(yàn)證的屏幕閃爍,導(dǎo)致無(wú)法進(jìn)行正常的使用。這個(gè)情況是電腦系統(tǒng)不兼容導(dǎo)致的。如果想要徹底解決問題,可以安裝兼容性更好的系統(tǒng)來(lái)使用

    2024年02月09日
    瀏覽(20)
  • 成功解決Android設(shè)備adb連接后顯示device unauthorized

    成功解決Android設(shè)備adb連接后顯示device unauthorized

    在電腦通過USB連接新的Android設(shè)備,想要通過adb來(lái)進(jìn)行一些操作時(shí),卻發(fā)現(xiàn)命令提示符上在輸入下面命令后顯示設(shè)備未授權(quán)的信息也就是\\\"unauthorized\\\" 有人提出的解決方案是打開Android設(shè)備的 開發(fā)者選項(xiàng) 中的 USB調(diào)試 ,但筆者在之前已經(jīng)打開了,由此可知問題并不與此相關(guān)。 通過

    2024年02月13日
    瀏覽(29)
  • 解決‘selenium打開瀏覽器驅(qū)動(dòng)后會(huì)自動(dòng)關(guān)閉’的問題

    在學(xué)習(xí)的時(shí)候,遇到使用selenium打開瀏覽器驅(qū)動(dòng)時(shí),沒有寫關(guān)閉代碼,瀏覽器也會(huì)自動(dòng)關(guān)閉,導(dǎo)致在學(xué)習(xí)不是很方便,代碼如下 關(guān)于這個(gè)情況,我找到了兩個(gè)解決辦法 第一:是因?yàn)閟elenium的版本過高,我原來(lái)使用的是4.3版本,把版本降到到3.0即可 卸載selenium:pip uninstall sele

    2024年04月17日
    瀏覽(33)
  • 【解決】websocket ws連不上或無(wú)法連接

    【解決】websocket ws連不上或無(wú)法連接

    大致報(bào)錯(cuò)內(nèi)容如圖: WebSocket 連接失敗的原因有很多,主要有以下幾點(diǎn): 服務(wù)器端沒有正確配置 WebSocket,導(dǎo)致客戶端無(wú)法連接。 網(wǎng)絡(luò)問題,如網(wǎng)絡(luò)不穩(wěn)定,網(wǎng)絡(luò)延遲等,導(dǎo)致客戶端無(wú)法連接。 客戶端代碼有問題,導(dǎo)致無(wú)法正確連接服務(wù)器。 服務(wù)器端的防火墻設(shè)置不當(dāng),導(dǎo)致

    2024年02月12日
    瀏覽(26)
  • Kafka-Eagle安裝及連接成功web端登陸不了問題解決

    Kafka-Eagle安裝及連接成功web端登陸不了問題解決

    kafka自身并沒有集成監(jiān)控管理系統(tǒng),因此對(duì)kafka的監(jiān)控管理比較不便,好在有大量的第三方監(jiān)控管理系統(tǒng)來(lái)使用,常見的有: Kafka Eagle KafkaOffsetMonitor Kafka Manager(雅虎開源的Kafka集群管理器) Kafka Web Console 還有JMX接口自開發(fā)監(jiān)控管理系統(tǒng) 以下是3.1.0版TV頁(yè)面 Kafka-Eagle安裝 安裝包

    2024年02月08日
    瀏覽(23)
  • 【vue3】前端應(yīng)用中使用WebSocket與服務(wù)器進(jìn)行通信并管理連接狀態(tài)。

    1、寫一個(gè)hook函數(shù) url 是WebSocket的服務(wù)器地址,其中 Math.random() 用于生成一個(gè)隨機(jī)數(shù),以避免緩存問題。 onConnected 、 onDisconnected 和 onError 是連接建立、斷開和出錯(cuò)時(shí)的回調(diào)函數(shù),你可以根據(jù)實(shí)際需求來(lái)定義它們。 onMessageDefault 是當(dāng)接收到消息時(shí)的默認(rèn)處理函數(shù),在這里將接收

    2024年02月09日
    瀏覽(38)
  • “已成功與服務(wù)器建立連接,但是在登錄過程中發(fā)生錯(cuò)誤“的解決方法

    “已成功與服務(wù)器建立連接,但是在登錄過程中發(fā)生錯(cuò)誤“的解決方法

    對(duì)于上述問題,我也曾被折磨得不輕。 網(wǎng)上找了很多方法,很多就是每個(gè)屁用! 別輕易就重新注冊(cè)一個(gè)新的,否則后面可能還需要花時(shí)間去把它刪了。 首先,我們會(huì)看到連接成功但是登陸不上的報(bào)錯(cuò)圖。 ?電腦不同,可能也會(huì)有所不同。但大致內(nèi)容就是上述那樣。 方法一:

    2024年02月06日
    瀏覽(22)
  • websocket服務(wù)端,運(yùn)行后始終無(wú)法連接的解決方案

    javax.websocket.DeploymentException: The HTTP response from the server [404] did not permit the HTTP 解決辦法:少兩個(gè)文件: 加上這兩個(gè)文件,就可以了

    2024年02月15日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包