2017-04-05 45 views
0

我對此訂閱一的WebSocket端點與此頁的應用程序:樹莓SockJS +踐踏+ SpringBoot =問題

var socket = new SockJS("/hello"); 
      stompClient = Stomp.over(socket); 
      stompClient.connect({}, function (frame) { 
       stompClient.subscribe('/topic/nextticket', function (ws_response) { 
        var data = JSON.parse(ws_response.body); 
        .... 
       }); 
      }); 

這個應用程序的運行,當樹莓連接互聯網上的一切工作正常。但是,在本地網絡(沒有互聯網)我有這個

enter image description here

我的後端的conf是:

@Configuration 
@PropertySource("file:/etc/app.properties") 
@EnableWebSocketMessageBroker 
class MessageBroker extends AbstractWebSocketMessageBrokerConfigurer { 

    @Autowired 
    Environment env 

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



    @Override 
    void registerStompEndpoints(StompEndpointRegistry registry) { 

     def ip = env.getProperty("kiosk.ip") ? env.getProperty("kiosk.ip") as String : "192.168.1.90" 

     registry.addEndpoint("/hello") 
       .setAllowedOrigins("*") 
       .withSockJS() 
       .setClientLibraryUrl("http://${ip}:8080/js/sockjs.js") 


    } 
} 

我不明白爲什麼有CORS(我想)問題。而該頁面將永久重新加載。

在此先感謝

路易斯

回答

0

我在我的應用程序,每當我用一個特定的IP這個CORS行爲。

application.properties中

server.address: 192.168.1.90 

從application.properties應用和預期一樣去除server.address後。如果有人知道這個原因,請讓我知道。我本來預計

registry.setAllowedOrigins("*") 

將刪除所有CORS行爲document here