개발자

Next.js 로 Spring과 웹소켓 통신이 가능한가요?

2023년 12월 09일조회 779

next.js와 spring으로 데이팅앱을 개발중이라 실시간 1:1 채팅 기능을 구현하고 있습니다. 저는 프론트엔드 개발자이고, next.js를 사용중인데 사정이 있어서 클라이언트 사이드에서 fetching을 해오고 있습니다. 그런데 스프링과 통신 설정을 했는데도 connection, send까지는 되는데 subscribe가 안되고 있는지 메시지를 받는게 안되고 있습니다. next.js에서 스프링과 stompjs, sockjs를 통해 실시간 채팅을 구현하는게 불가능한가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

이상선님의 프로필 사진

됩니다

아발란체님의 프로필 사진

가능합니다~ 커넥션이 되는데 구독이 안되는건 좀 신기하네여

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 12월 09일

Next.js는 Node.js 와 React.js를 기반으로 한 이벤트 주도 서버사이드 렌더링 프레임워크이기 때문에 웹소켓의 구현을 지원합니다. 그래서, Next.js에서 Spring과 함께 웹소켓 통신을 하는 것은 가능합니다. 그리고 stompjs와 sockjs를 사용하여 스프링과의 실시간 채팅을 구현하는 것 역시 가능합니다. 이 라이브러리들은 웹소켓 통로 상에서 STOMP 메세지 전송을 돕는 JavaScript 라이브러리입니다. 하지만, subscribe가 안되고 있어서 메시지를 받지 못하는 문제가 발생한 것으로 보입니다. 이 문제는 다양한 원인에 의해 발생할 수 있습니다. 첫번째로 살펴볼 점은 WebSocket 연결 설정입니다. WebSocket 연결 설정 검토 및 확인 과정에서 특정 URL, 포트 번호, 엔드포인트 등이 정확하게 설정되었는지 확인해야 합니다. 두번째로 살펴볼 점은 Spring Security 설정입니다. 만약 Spring Security를 사용하고 있다면, Spring Security의 WebSocket 보안 설정이 제대로 구성되었는지 확인 필요합니다. 마지막으로 살펴볼 점은 클라이언트와 서버 사이의 통신 절차입니다. 예를 들어 STOMP 프로토콜을 사용하면 'CONNECT', 'SUBSCRIBE', 'SEND' 등의 단계를 거치게 됩니다. 이런 각 단계에서 메시지가 정상적으로 전송되고 있는지 확인해야 합니다. 위 내용을 기반으로 문제 해결에 도움이 되는 정보를 찾을 수 있기 바랍니다. 동시에 개발에 필요한 복잡한 통신 로직 뿐 아니라 보안 이슈도 함께 고려하는 것이 좋습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!