我有一个应用程序,其中包含一个订阅websocket端点的页面:
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);
....
});
});
此应用程序在Raspberry上运行,当覆盆子连接到互联网时,一切正常。但在本地网络(没有互联网)我有这个
我的后端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 :(得分:0)
每当我使用特定的IP时,我的应用程序中就会出现这种CORS行为。
<强> application.properties 强>
server.address: 192.168.1.90
从application.properties 中删除server.address后,应用程序按预期工作。如果有人知道原因,请告诉我。我原以为
registry.setAllowedOrigins("*")
会将所有CORS行为删除为document here