Я использую React JS для внешней части своего приложения и пытаюсь установить соединение WebSocket между ним и сервером Spring Boot.
Стоит отметить, что фронтенд и бэкенд находятся на двух разных портах (3000 и 8080 соответственно).
Это конфигурация WebSocket в Spring:
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration implements WebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/stomp-endpoint")
.setAllowedOrigins("http://localhost:3000")
.withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic");
registry.setApplicationDestinationPrefixes("/app");
}
}
И на стороне клиента:
import {w3cwebsocket as WebSocket} from 'websocket'
const socket = new WebSocket('ws://localhost:8080/stomp-endpoint');
function Debug() {
return (
<div>
Debug
</div>
)
}
export default Debug
Однако при попытке сформировать соединение с помощью конструктора WebSocekt я продолжаю получать следующую ошибку: WebSocket connection to 'ws://localhost:8080/stomp-endpoint' failed
в браузере.
Что может быть причиной этого?