我目前正在为内部和外部请求开发Web Socket。但是,在尝试通过Chrome命令测试双向连接时,我收到以下错误:
"起源' null'因此不允许访问。"
Web套接字配置:
@Configuration
@EnableWebSocketMessageBroker
public class SocketConfig implements WebSocketMessageBrokerConfigurer{
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/bidirectional");
}
public void registerStompEndpoints(StompEndpointRegistry registry) {
//register a new endpoint
registry.addEndpoint("/blueframe").setAllowedOrigins("/*");
registry.addEndpoint("/blueframe").setAllowedOrigins("/*").withSockJS();
}
}
JavaScript连接:
var socket = new SockJS('http://192.168.137.23:8080/blueframe');
stompClient = Stomp.over(socket);
stompClient.connect({}, function (frame) {
setConnected(true);
console.log('Connected: ' + frame);
});
我已经尝试查看其他帖子但没有结果。
答案 0 :(得分:1)
首先我使用Webservices退出,而不是开始使用RabbitMQ进行双向通信。
关于Web套接字配置,我不是唯一遇到此问题的人,因此我找到了一个特殊的解决方案:降级Spring版本或使用Socket处理程序而不是StompEndpointRegistry接口。