SpringBoot集成WebSocket 同步前端及填坑


原文 https://blog.csdn.net/moshowgame/article/details/80275084

 

追加

vue 集成 websocket ,打開連接時,403 (Forbidden)

POST http://localhost:9999/api/im/endpoint/808/xhr_send?t=55546963 403 (Forbidden)

 

后台是spring cloud,解決辦法:

復制代碼
package com.imobpay.sqlinspection.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer;
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
//通過EnableWebSocketMessageBroker 開啟使用STOMP協議來傳輸基於代理(message broker)的消息,此時瀏覽器支持使用@MessageMapping 就像支持@RequestMapping一樣。
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) { //endPoint 注冊協議節點,並映射指定的URl

        //注冊一個Stomp 協議的endpoint,並指定 SockJS協議
        registry.addEndpoint("/endpointWisely").setAllowedOrigins("*").withSockJS();

        //注冊一個名字為"endpointChat" 的endpoint,並指定 SockJS協議。   點對點-用
        registry.addEndpoint("/endpointChat").setAllowedOrigins("*").withSockJS();
    }


    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {//配置消息代理(message broker)
        //廣播式應配置一個/topic 消息代理
        registry.enableSimpleBroker("/topic");

        //點對點式增加一個/queue 消息代理
        registry.enableSimpleBroker("/queue","/topic");

    }
}
復制代碼

注冊endpoint 時  加上   .setAllowedOrigins("*")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM