package com.emotionmuseum.config; 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; /** * WebSocket配置类 * * @author emotion-museum * @version 1.0.0 * @since 2024-01-01 */ @Configuration @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override public void registerStompEndpoints(StompEndpointRegistry registry) { // 注册STOMP端点 registry.addEndpoint("/ws") .setAllowedOriginPatterns("*") .withSockJS(); // 支持原生WebSocket registry.addEndpoint("/ws") .setAllowedOriginPatterns("*"); } @Override public void configureMessageBroker(MessageBrokerRegistry registry) { // 启用简单的消息代理 registry.enableSimpleBroker("/topic", "/queue"); // 设置应用程序目标前缀 registry.setApplicationDestinationPrefixes("/app"); // 设置用户目标前缀 registry.setUserDestinationPrefix("/user"); } }