From c38b35bc968b876b478f149f69291b6386cbe63b Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 28 Oct 2025 15:04:51 +0800
Subject: [PATCH] 2025-10-28 zwy 更新WebSocket代码。
---
ard-sample/src/main/java/com/ard/sample/component/websocket/config/WebSocketDockConfig.java | 33 ++++++++++++++++++++++-----------
1 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/component/websocket/config/WebSocketDockConfig.java b/ard-sample/src/main/java/com/ard/sample/component/websocket/config/WebSocketDockConfig.java
index da048be..f6df97e 100644
--- a/ard-sample/src/main/java/com/ard/sample/component/websocket/config/WebSocketDockConfig.java
+++ b/ard-sample/src/main/java/com/ard/sample/component/websocket/config/WebSocketDockConfig.java
@@ -1,18 +1,29 @@
package com.ard.sample.component.websocket.config;
-import org.springframework.context.annotation.Bean;
+import com.ard.sample.component.websocket.handler.*;
+import com.ard.sample.component.websocket.interceptor.DockHandshakeInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
-import org.springframework.web.socket.server.standard.ServerEndpointExporter;
+import org.springframework.web.socket.config.annotation.EnableWebSocket;
+import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
+import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
-/**
- * 启用WebSocket支持,注册端点处理器
- */
@Configuration
-public class WebSocketDockConfig {
+@EnableWebSocket // 启用原生WebSocket支持
+public class WebSocketDockConfig implements WebSocketConfigurer {
- // 自动注册@ServerEndpoint注解的类
- @Bean
- public ServerEndpointExporter serverEndpointExporter() {
- return new ServerEndpointExporter();
+ @Autowired
+ private DockWebSocketHandler dockWebSocketHandler;
+
+ // 注册WebSocket处理器和路径
+ @Override
+ public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
+ // 1. 注册处理器:路径 "/ws/dock/**" 由 DockWebSocketHandler 处理
+ // 2. 添加握手拦截器:验证用户身份DockHandshakeInterceptor
+ // 3. 配置跨域:允许所有域名(生产环境需限制)
+ registry.addHandler(dockWebSocketHandler, "/ws/dock/**")
+ .addInterceptors(new DockHandshakeInterceptor())
+ .setAllowedOrigins("*");
+
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3