From 8c655c6c9b881167e23ba3ef8d7fa07c811b44c9 Mon Sep 17 00:00:00 2001 From: TangCheng <tangchengmail@163.com> Date: 星期三, 16 四月 2025 14:35:44 +0800 Subject: [PATCH] 添加websocket类 --- JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/web/SMTWebSocketConfig.java | 30 ++++++++++++++++++++++++++++++ JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTWebsocketControl.java | 19 +++++++++++++++++++ 2 files changed, 49 insertions(+), 0 deletions(-) diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTWebsocketControl.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTWebsocketControl.java new file mode 100644 index 0000000..e528d63 --- /dev/null +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTWebsocketControl.java @@ -0,0 +1,19 @@ +package com.smtaiserver.smtaiserver.control; + +import org.springframework.messaging.Message; +import org.springframework.messaging.handler.annotation.MessageMapping; +import org.springframework.messaging.handler.annotation.SendTo; +import org.springframework.stereotype.Controller; + +@Controller +public class SMTWebsocketControl +{ + // 澶勭悊鏉ヨ嚜"/app/chat"鐨勬秷鎭� + @MessageMapping("/chat") + // 灏嗚繑鍥炵殑娑堟伅鍙戦�佸埌"/topic/messages" + @SendTo("/topic/messages") + public Message<?> send(Message<?> message) throws Exception + { + return message; + } +} diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/web/SMTWebSocketConfig.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/web/SMTWebSocketConfig.java new file mode 100644 index 0000000..0ea0319 --- /dev/null +++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/web/SMTWebSocketConfig.java @@ -0,0 +1,30 @@ +package com.smtaiserver.smtaiserver.web; + +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.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; + +@Configuration +@EnableWebSocketMessageBroker +public class SMTWebSocketConfig implements WebSocketMessageBrokerConfigurer +{ + @Override + public void configureMessageBroker(MessageBrokerRegistry config) + { + // 璁剧疆娑堟伅浠g悊鐨勫墠缂�锛屽嵆濡傛灉娑堟伅鐨勫墠缂�鏄�"/topic"锛屽氨浼氬皢娑堟伅杞彂缁欐秷鎭唬鐞嗭紙broker锛� + // 鍐嶇敱娑堟伅浠g悊灏嗘秷鎭箍鎾粰褰撳墠杩炴帴鐨勫鎴风 + config.enableSimpleBroker("/topic"); + // 閰嶇疆涓�涓垨澶氫釜鍓嶇紑锛岄�氳繃杩欎簺鍓嶇紑杩囨护鍑洪渶瑕佽娉ㄨВ鏂规硶澶勭悊鐨勬秷鎭� + // 渚嬪"/app"鍓嶇紑鐨刣estination鍙互閫氳繃@MessageMapping娉ㄨВ鐨勬柟娉曞鐞� + config.setApplicationDestinationPrefixes("/app"); + } + + @Override + public void registerStompEndpoints(StompEndpointRegistry registry) { + // 瀹氫箟涓�涓墠缂�涓�"/ws"鐨別ndpoint锛屽苟寮�鍚痵ockjs鏀寔 + // sockjs鍙互瑙e喅娴忚鍣ㄥWebSocket鐨勫吋瀹规�ч棶棰� + registry.addEndpoint("/ws").withSockJS(); + } +} -- Gitblit v1.9.3