精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

實戰突破!Vue3 + SpringBoot 打造高效 Web 實時消息推送系統

開發 前端
在傳統的 HTTP 通信模型中,客戶端想要獲取最新數據,必須不斷地向服務器發送請求進行詢問——這種方式稱為輪詢。

為何需要 Web 實時通信?

在傳統的 HTTP 通信模型中,客戶端想要獲取最新數據,必須不斷地向服務器發送請求進行詢問——這種方式稱為輪詢。

假設你正在訪問一個股票信息平臺,瀏覽器每隔數秒就向服務器發送請求,服務器回復:“暫時沒變化”,直到股價真正變化為止。這不僅浪費帶寬,也帶來了數據更新的延遲。

而 WebSocket 則從根本上改變了這個機制。它在客戶端與服務器之間建立一條持久連接,允許服務端主動將新消息推送給客戶端。這就像雙方之間開了一個微信語音通話頻道,消息來回即時互通,無需每次“掛斷再撥號”。

典型應用場景:

  • 實時聊天(如微信、釘釘)
  • 股票/幣價推送
  • 實時協作文檔編輯
  • 在線訂單通知/預警系統

系統構建:技術選型與項目結構

為了實現一個具有實時消息推送能力的 Web 應用,我們采用如下架構:

  • 服務端(Spring Boot):負責業務邏輯處理、WebSocket 消息分發和管理連接會話。
  • 客戶端(Vue3):負責 UI 展示和 WebSocket 的消息接收/顯示。

Spring Boot 服務端實現

Maven 依賴

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

WebSocket 配置

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws-notification")
                .setAllowedOriginPatterns("*")
                .withSockJS();
    }


    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.enableSimpleBroker("/topic");
        registry.setApplicationDestinationPrefixes("/app");
    }
}

消息推送服務

@Service
public class NotificationService {
    @Autowired
    private SimpMessagingTemplate messagingTemplate;


    public void broadcastNewOrder(String orderNumber) {
        messagingTemplate.convertAndSend("/topic/new-orders", orderNumber);
    }


    public void notifyUser(String userId, String message) {
        messagingTemplate.convertAndSendToUser(userId, "/topic/notification", message);
    }
}

Vue3 前端實現

安裝依賴

npm install sockjs-client stompjs
/utils/websocket.js
import SockJS from 'sockjs-client/dist/sockjs';
import Stomp from 'stompjs';


let stompClient = null;
let retryInterval = 5000;
let reconnectTimer = null;


function scheduleReconnect(type, notifyCallback, refreshCallback) {
  reconnectTimer = setTimeout(() => {
    connectWebSocket(type, notifyCallback, refreshCallback);
  }, retryInterval);
}


export function connectWebSocket(type, notifyCallback, refreshCallback) {
  const socket = new SockJS(import.meta.env.VITE_WS_ENDPOINT || "http://localhost:8083/ws-notification");
  stompClient = Stomp.over(socket);


  stompClient.connect({}, () => {
    if (reconnectTimer) clearTimeout(reconnectTimer);
    stompClient.subscribe(`/topic/${type}`, (msg) => {
      notifyCallback(msg.body);
      refreshCallback?.();
    });
  }, (error) => {
    console.error("連接失敗,嘗試重連", error);
    scheduleReconnect(type, notifyCallback, refreshCallback);
  });
}


export function disconnectWebSocket() {
  if (stompClient) {
    stompClient.disconnect();
  }
}

Vue 組件使用

<script setup>
import { onMounted, onBeforeUnmount } from "vue";
import { ElNotification } from "element-plus";
import { connectWebSocket, disconnectWebSocket } from "@/utils/websocket";


const showNotification = (message) => {
  ElNotification({
    title: "新訂單提醒",
    type: "success",
    message: message,
  });
};


onMounted(() => {
  connectWebSocket("new-orders", showNotification, refreshOrderList);
});


onBeforeUnmount(() => {
  disconnectWebSocket();
});


function refreshOrderList() {
  console.log("刷新訂單列表");
}
</script>

部署上線實戰

Nginx 配置 WebSocket 中繼

location /ws-notification {
  proxy_pass http://localhost:8083/ws-notification;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
  proxy_set_header Host $host;
}

Vue 打包和環境變量

const socket = new SockJS(import.meta.env.VITE_WS_ENDPOINT || "http://localhost:8083/ws-notification");

WebSocket 鑒權機制

服務端 STOMP 攔截器

@Component
public class AuthChannelInterceptor implements ChannelInterceptor {
    @Override
    public Message<?> preSend(Message<?> message, MessageChannel channel) {
        StompHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
        if (StompCommand.CONNECT.equals(accessor.getCommand())) {
            List<String> authHeaders = accessor.getNativeHeader("Authorization");
            String token = (authHeaders != null && !authHeaders.isEmpty()) ? authHeaders.get(0) : null;


            if (!TokenUtil.verify(token)) {
                throw new IllegalArgumentException("無效的 Token");
            }


            accessor.setUser(new UsernamePasswordAuthenticationToken("user", null, new ArrayList<>()));
        }
        return message;
    }
}

在 WebSocket 配置中注冊

@Override
public void configureClientInboundChannel(ChannelRegistration registration) {
    registration.interceptors(new AuthChannelInterceptor());
}

客戶端使用 Token

stompClient.connect({ Authorization: getToken() }, () => {
  stompClient.subscribe("/topic/new-orders", (msg) => {
    notifyCallback(msg.body);
  });
});

總結:面向產品級的實時推送體系

通過本項目的實戰與優化,我們打造了一個功能完整的實時消息推送系統,它具備如下特性:

  • 前后端解耦,通信基于 WebSocket + STOMP
  • 消息反應秒級可達
  • 支持鑒權,可與登陸系統完編合
  • 具備斷線重連能力
  • 可實際部署,用 Nginx 做網關分發
責任編輯:武曉燕 來源: 路條編程
相關推薦

2025-08-15 07:36:48

彈幕系統Spring

2025-07-14 05:00:00

監控系統工具

2024-11-18 17:04:03

Vue3C#

2025-01-03 09:34:54

2023-09-19 15:33:50

Web實時消息推送

2021-12-01 08:11:44

Vue3 插件Vue應用

2023-04-27 11:07:24

Setup語法糖Vue3

2022-07-30 10:08:06

MQTT?協議物聯網

2024-01-23 09:15:33

Vue3組件拖拽組件內容編輯

2023-11-24 08:02:28

2021-11-30 08:19:43

Vue3 插件Vue應用

2023-11-28 09:03:59

Vue.jsJavaScript

2025-02-04 14:55:56

2024-10-11 11:32:22

Spring6RSocket服務

2020-09-19 21:15:26

Composition

2025-03-10 00:00:11

Spring框架數據

2025-09-02 09:32:33

Spring工具項目

2022-06-26 00:00:02

Vue3響應式系統

2017-09-05 15:30:00

JavascriptSocket.ioNode.js

2023-11-07 10:01:34

點贊
收藏

51CTO技術棧公眾號

天堂中文字幕在线| 国产第一页精品| 不卡专区在线| 国产视频不卡一区| 国产精品美女主播| 亚洲精品一区二区三区在线播放| 视频在线亚洲| 日韩欧美视频一区二区三区| 肉色超薄丝袜脚交69xx图片| 九色网友自拍视频手机在线| 蜜桃久久精品一区二区| 欧美激情视频一区二区| 亚洲av无码一区二区三区观看 | 久久综合久色欧美综合狠狠| 国产精品久久久久不卡| 久久久久久久久久久久久久久久久| 天堂综合网久久| 制服丝袜在线91| 777精品久无码人妻蜜桃| av在线女优影院| heyzo一本久久综合| 国产乱肥老妇国产一区二| 69av成年福利视频| 国产精品麻豆入口| 四虎视频在线精品免费网址| 天天色综合成人网| 三级在线免费观看| 波多野结衣在线影院| 成人免费毛片高清视频| 国产在线999| 麻豆精品久久久久久久99蜜桃| 911久久香蕉国产线看观看| 亚洲欧美国产制服动漫| 中国极品少妇xxxx| 精品欧美视频| 欧美日韩一区二区不卡| av免费中文字幕| 51精品在线| 一区二区三区四区av| 伊人久久大香线蕉午夜av| 精品99又大又爽又硬少妇毛片| 成人精品电影在线观看| 99re在线| 亚洲av无码乱码国产精品| 精品亚洲成a人在线观看| 国产91久久婷婷一区二区| 色婷婷在线观看视频| 欧美日韩p片| 国产亚洲视频系列| 欧美成人精品高清在线播放| 国产裸体免费无遮挡| 99在线视频影院| 一区二区国产视频| 日本高清久久一区二区三区| 日本高清视频www| 成人免费毛片片v| 99中文字幕| 性色av蜜臀av| 国产精品自在在线| 亚洲综合av影视| 国产男女裸体做爰爽爽| 久久99国产精品免费| 国产精品一区二区三区久久 | 婷婷成人激情| 中文字幕 久热精品 视频在线| 日本日本精品二区免费| 国产三级电影在线观看| 日本一区二区三区免费乱视频| 日韩啊v在线| 在线免费观看黄| 亚洲欧美在线另类| 中文字幕av导航| 日本理论片午伦夜理片在线观看| 亚洲日本成人在线观看| 日本中文字幕在线视频观看 | 日本亚洲欧美成人| 欧美一级淫片免费视频黄| 水野朝阳av一区二区三区| 国产不卡视频在线| 在线免费观看一区二区| 精品一区二区在线观看| 亚洲一区二区三区香蕉| 日本成人动漫在线观看| 久久九九久久九九| 中文字幕在线观看一区二区三区| 超碰公开在线| 精品国产户外野外| 国产精品视频黄色| 久久天堂久久| 欧美激情五月| 中文字幕亚洲一区二区三区五十路| 波兰性xxxxx极品hd| 欧美一区高清| 777午夜精品福利在线观看| 69视频免费看| 国产一区二区三区综合| 激情伦成人综合小说| 二区在线观看| 亚洲一区电影777| 国产一级不卡毛片| 欧美9999| 一本一道久久a久久精品逆3p | 日本精品视频在线播放| 在线观看中文字幕网站| 成人免费黄色大片| 亚洲精品一品区二品区三品区| 成年人黄视频在线观看| 欧美性生交大片免费| 亚洲天堂国产视频| 日韩大胆成人| 欧美精品在线免费| 蜜臀99久久精品久久久久小说| 国产一级精品在线| 日本高清不卡三区| 国产精品—色呦呦| 精品视频色一区| 少妇一级淫片免费放播放| 日韩在线第七页| 欧美又大粗又爽又黄大片视频| 91久久国语露脸精品国产高跟| 成人av先锋影音| 中文字幕剧情在线观看一区| 成人性生活视频| 欧美不卡在线视频| 欧美大片xxxx| 青青草视频一区| 精品一区二区三区视频日产| 怡红院红怡院欧美aⅴ怡春院| 在线一区二区三区四区| 国产成人av无码精品| 在线一区电影| 成人福利视频网| 国产精品秘入口| 精品国产乱码久久久久久婷婷 | 欧美影院在线| 日韩中文字在线| 国产天堂第一区| 91免费视频大全| 97视频久久久| 岛国成人av| 欧美黄色www| av在线资源观看| 最新国产の精品合集bt伙计| 亚洲福利精品视频| 九一国产精品| 日本国产精品视频| 天堂av在线播放| 疯狂做受xxxx高潮欧美日本| 欧美丰满熟妇bbb久久久| 亚洲精品国产成人影院| 91久久国产婷婷一区二区| 在线播放日本| 欧美美女一区二区三区| 免费黄色国产视频| 欧美bbbbb| 亚洲精品一区二区三区av| 99欧美精品| 日韩在线观看精品| 97超碰人人模人人人爽人人爱| 国产精品午夜电影| 爱爱爱爱免费视频| 伊人青青综合网| 成人国产一区二区| 国产精品一二三产区| 日韩精品在线观看一区| 欧美h在线观看| 国产女同互慰高潮91漫画| 亚洲成人福利在线观看| 99久久www免费| 亚洲综合成人婷婷小说| av中文字幕电影在线看| 日韩激情在线视频| 91porny九色| 国产精品夫妻自拍| 337p日本欧洲亚洲大胆张筱雨| 激情欧美国产欧美| 久久精品国产综合精品| 色香欲www7777综合网| 自拍偷拍亚洲精品| 国产成人精品一区二三区四区五区 | 欧洲精品一区二区| 欧美视频一区二区在线| 丁香六月综合激情| 久久国产乱子伦免费精品| 欧美午夜精品一区二区三区电影| 国产日韩欧美91| 免费电影视频在线看| 亚洲精选一区二区| 91精品国产综合久| 亚洲超丰满肉感bbw| 国产人妻一区二区| 国产精品综合一区二区| 欧美变态另类刺激| 久久一区91| 国产青春久久久国产毛片| 日韩中文在线播放| 欧美激情xxxxx| 成人免费在线视频网| 日韩一区二区三区在线观看| 六月丁香婷婷综合| 最新欧美精品一区二区三区| 人妻丰满熟妇av无码久久洗澡 | 先锋资源在线视频| 久久午夜精品一区二区| 一级性生活视频| 精品色999| 国产精品一区在线观看| 亚洲成a人片777777久久| 久久乐国产精品| 日本高清视频在线播放| 日韩精品视频在线观看网址 | 综合久久2023| 欧美乱大交xxxxx另类电影| 免费国产在线视频| 欧美精品一区二区蜜臀亚洲| 中文字幕av免费观看| 图片区小说区国产精品视频| 最新一区二区三区| 国产欧美视频一区二区| xxxwww国产| 国产一区二区在线观看免费| 男女污污的视频| 亚洲久久一区| 免费极品av一视觉盛宴| 久久视频在线| 台湾成人av| 亚洲人成网77777色在线播放| 成人免费视频视频在| 伊人网综合在线| 一区二区三区国产盗摄| 水蜜桃一区二区三区| 精品中文一区| 国模一区二区三区私拍视频| 秋霞午夜一区二区三区视频| 成人激情春色网| 欧美男女视频| 国产国产精品人在线视| 毛片电影在线| 97精品免费视频| 欧美性受ⅹ╳╳╳黑人a性爽| 久久久999精品视频| 成人在线观看免费| 亚洲香蕉av在线一区二区三区| 午夜视频免费看| 亚洲а∨天堂久久精品喷水| www.av黄色| 日韩精品最新网址| 精品久久无码中文字幕| 精品国产三级电影在线观看| 国产三级小视频| 日韩三级免费观看| 超碰在线观看av| 欧美r级在线观看| 丰满岳乱妇国产精品一区| 欧美va亚洲va| 天天干免费视频| 精品亚洲精品福利线在观看| 青青青手机在线视频观看| 国产偷国产偷亚洲清高网站| 国产视频三级在线观看播放| 一区三区二区视频| 日韩在线资源| 欧美日韩成人黄色| 成av人片在线观看www| 午夜精品久久久久久久白皮肤| www.综合| 日韩av电影手机在线| 成人国产激情在线| 成人中文字幕在线观看| 伊人精品综合| 精品日产一区2区三区黄免费| 亚洲伊人春色| 一本一本久久a久久精品综合妖精| 久久精品播放| 成人国产在线看| 亚洲一区成人| 婷婷免费在线观看| 国内不卡的二区三区中文字幕| 国产一精品一aⅴ一免费| 92精品国产成人观看免费| 高清国产在线观看| 亚洲免费伊人电影| 久久久精品免费看| 欧美日韩激情在线| 亚洲第一视频在线| 亚洲日韩中文字幕在线播放| 天天操天天摸天天舔| 亚洲视频久久| 成人性免费视频| 麻豆精品视频在线观看免费| 国产a级片视频| 国产亚洲一区字幕| 91成人福利视频| 日韩欧美综合在线视频| 国产一区二区自拍视频| 亚洲国产精品嫩草影院久久| av在线电影免费观看| 欧美激情欧美激情在线五月| 欧美日韩在线精品一区二区三区激情综合 | а√天堂资源国产精品| http;//www.99re视频| 久久av综合| 精品视频在线观看一区二区| 视频一区在线播放| 韩国黄色一级片| 中文字幕不卡一区| 五月天婷婷综合网| 制服丝袜中文字幕亚洲| 国产免费av高清在线| 欧美极品美女视频网站在线观看免费| 日日夜夜天天综合| 国产视频99| 在线成人激情| 日本美女高潮视频| 不卡av电影在线播放| 青花影视在线观看免费高清| 色网综合在线观看| 日本激情一区二区三区| www国产精品视频| 深夜成人影院| 精品久久久三级| 国产综合久久| 两性午夜免费视频| 国产精品久久久久久久午夜片| 欧美黑人一区二区| 亚洲激情电影中文字幕| 亚洲男同gay网站| 成人免费xxxxx在线观看| 欧美日韩中文字幕一区二区三区| 少妇人妻在线视频| 成人一级视频在线观看| 老司机成人免费视频| 欧美日韩午夜精品| bbbbbbbbbbb在线视频| 日本中文字幕成人| 亚洲电影一级片| 国产毛片视频网站| 波波电影院一区二区三区| 日韩在线观看视频一区二区| 91精品综合久久久久久| 午夜视频成人| 国产日韩精品在线观看| 91久久久精品国产| 亚洲国产日韩欧美在线观看| 欧美激情一区二区三区四区 | 日韩欧美一级特黄在线播放| 黄色网页在线播放| 91在线免费网站| 一区二区三区四区日韩| 日韩av一卡二卡三卡| 成人欧美一区二区三区黑人麻豆| 中文字幕有码无码人妻av蜜桃| 国产一区二区三区在线免费观看| 竹内纱里奈兽皇系列在线观看| 九色一区二区| 久久一区中文字幕| 国产伦理片在线观看| 精品婷婷伊人一区三区三| 亚洲成人三级| 亚洲伊人久久大香线蕉av| 欧美激情第8页| 少妇一级淫片免费放播放| 欧美体内谢she精2性欧美| 国际av在线| 成人精品一区二区三区电影免费 | 美女精品视频一区| 欧美一区一区| 精品国产一二三四区| 久久精品免视看| 一级片aaaa| 欧美大片在线影院| 亚洲春色h网| 精品久久久99| 一区二区三区日韩欧美| 全部免费毛片在线播放一个| 奇门遁甲1982国语版免费观看高清| 久久av网址| 日日夜夜精品视频免费观看| 亚洲成人精品在线观看| 日韩av视屏| 国产啪精品视频| 一区精品久久| 免费人成又黄又爽又色| 欧美日本一区二区在线观看| 影音先锋在线播放| 青青草成人网| 国产精品综合一区二区| 亚洲 欧美 成人| 久久亚洲欧美日韩精品专区| 老司机aⅴ在线精品导航| 爱情岛论坛亚洲首页入口章节| 亚洲精品欧美激情| 日本a一级在线免费播放| 91麻豆国产精品| 亚洲女同在线| 天天操天天操天天操天天操天天操| 日韩精品在线影院| 日韩欧美一级| 无码内射中文字幕岛国片| 亚洲伊人伊色伊影伊综合网|