2017-04-05 4 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(私は仮定)問題を抱えている理由を私は理解していない...そして、ページは永遠にリロードされます。私は特定のIPを使用するたびに、事前に

おかげ

ルイス

答えて

0

は、私は自分のアプリケーションでこのCORSの動作を持っていました。

application.properties

server.address: 192.168.1.90 

予想通りアプリケーションが働いapplication.propertiesからserver.addressを除去した後。誰かがこの原因を知っているなら、私に知らせてください。私は

registry.setAllowedOrigins("*") 

document here

として、すべてのCORSの振る舞いを削除することが期待されているでしょう
関連する問題