inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

아키텍처 질문입니다

미해결

웹소켓/STOMP 채팅서비스(spring, vue, redis)

이 아키텍처 기준으로 질문이 있습니다. client1번 -> LB -> 서버 -> 레디스 -> 서버 -> client2 이런 식으로 메세지를 주고 받는다고 하셨는데, 그렇다면 만약에 레디스 서버가 다운이 된다면 client2번은 메세지를 못 받게 되는건가요? 이런 경우는 어떻게 대비 해야 하나요? 레디스는 서버 한대에만 구성 해놓나요?

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
ㅌㅇ 댓글 2 좋아요 0 조회수 183

수업자료 한번에 다운받기

미해결

웹소켓/STOMP 채팅서비스(spring, vue, redis)

수업자료 한번에 다운 받고 싶은데요. 압축파일로 올려주실수 있나요?

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
nhs0912 댓글 2 좋아요 0 조회수 196

웹소켓,stomp 개념 질문 !

미해결

웹소켓/STOMP 채팅서비스(spring, vue, redis)

바로 이전 강의에서는 순수 웹소켓에서는 토큰인증 구현안하고 기능만 돌아가도록 했음 최종강의 목표는 (stomp에서 고도화 하는 것이므로) 물론 할라면 할 수있음 예시): 쿼리 파라미터 방식으로 토큰을 포함한 WebSocket 연결 그리고 WebSocket 자체는 HTTP 헤더를 설정하는 기능을 제공하지 않기 때문에 순수 웹소켓에서는 헤더에 인증 토큰을 추가할 수 없음. ............................................................................ 이번강의에서는 토큰인증 구현할때 SockJS와 STOMP 같은 라이브러리를 사용하면 HTTP 헤더에 인증 정보를 포함시킬 수 있기에 헤더에 인증정보 포함 시켜 서버로 넘기는 식으로 구현 ! 그리고 뷰 메인에서 axios.interceptors.request.use( config => { const token= localStorage.getItem("token"); if(token){ config.headers['Authorization']= Bearer ${token} } return config; }, error => { return Promise.reject(error); } ) 이런 식으로 추가 하는 것은 HTTP 요청에 한에서 이므로 별도임 stomp의 connection 은 HTTP 엔드포인트긴하지만 HTTP 요청이 아닌 ws 요청임 따라서 뷰 메인에서 가로채서 요청에 인증 정보 넣지 않음 따라서 connec t할때 직접 헤더에 넣어야 함 .......................................................................................... 으로 이해했는데 맞을까요 ? 혹시 틀린 개념이나 빠진 부분이 있으면 알려주시면 감사하겠습니다!

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
kkkkkk 댓글 2 좋아요 0 조회수 209

Stomp과 웹소켓 프로토콜

미해결

웹소켓/STOMP 채팅서비스(spring, vue, redis)

connect할 때 웹소켓은 ws프로토콜 stomp는 http프로토콜을 사용하는건가요? 연결 후 메시지를 주고 받을 때 웹소켓은 ws프로토콜 stomp도 ws프로토콜을 사용하는건가요?

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
우유소보루 댓글 2 좋아요 0 조회수 173

질문있습니다!!

해결됨

웹소켓/STOMP 채팅서비스(spring, vue, redis)

container.addMessageListener(listenerAdapter, new PatternTopic("chat")); 해당 코드에서 chat은 redis에서 저장될 key 값인가요??

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
댓글 2 좋아요 0 조회수 136

질문있습니다

해결됨

웹소켓/STOMP 채팅서비스(spring, vue, redis)

채팅과 관련된 API를 설계할 때 보면 Controller 레이어에서 @AuthenticationPrincipal 파라미터를 사용해서 사용자의 정보를 가지고 오는 것이 아닌 Service 레이어에서 SecurityContextHoler를 통해 사용자의 정보를 가지고 오는데 이는 웹소켓 같은 경우에는 Header에 JWT 토큰 정보를 담을 수 없기 때문이다라고 이해하면 될까요??

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
service 댓글 2 좋아요 0 조회수 152

프론트코드 받을 수 있나요

해결됨

웹소켓/STOMP 채팅서비스(spring, vue, redis)

정말 강의잘 듣고있습니다 다름이아니라 빠르게 서버만 진행하고싶은데 프론트 코드저장소가있으시다면 받을 수 있나요? 아니면은 스톰프를 테스트할 수 있는 팁이있나요?

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
우유소보루 댓글 2 좋아요 0 조회수 214

DISCONNECT 질문이 있습니다.

미해결

웹소켓/STOMP 채팅서비스(spring, vue, redis)

안녕하세요, 일단 양질의 강의를 올려주셔서 감사하다는 말씀을 드립니다.다름이 아니라, 화면을 그리지 않고 단순히 백엔드 소스를 구현하면서 강의를 진행하고있습니다.https://jiangxy.github.io/websocket-debug-tool/라는 사이트에서 Connect(STOMP), pub/sub을 테스트 중입니다.그 과정에서 DISCONNECT를 진행할 경우, 아래와 같은 에러 메세지가 발생합니다. ava.lang.IllegalStateException: Message will not be sent because the WebSocket session has been closed at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:455) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlockInternal(WsRemoteEndpointImplBase.java:313) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:266) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:250) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:223) at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:48) at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage(StandardWebSocketSession.java:217) at org.springframework.web.socket.adapter.AbstractWebSocketSession.sendMessage(AbstractWebSocketSession.java:108) at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.tryFlushMessageBuffer(ConcurrentWebSocketSessionDecorator.java:190) at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sendMessage(ConcurrentWebSocketSessionDecorator.java:163) at org.springframework.web.socket.messaging.StompSubProtocolHandler.sendToClient(StompSubProtocolHandler.java:529) at org.springframework.web.socket.messaging.StompSubProtocolHandler.handleMessageToClient(StompSubProtocolHandler.java:516) at org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.handleMessage(SubProtocolWebSocketHandler.java:386) at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:152) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) 해당 문제를 해결하기 위해, 관련해서 자료를 검색해보았지만 해결하지 못해 질문을 드립니다. 혹시 확인을 해보아야할 메소드나 검색 키워드를 알려주실 수 있을까요? 이미지도 첨부드립니다.

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
John 댓글 3 좋아요 1 조회수 284

소스파일

해결됨

웹소켓/STOMP 채팅서비스(spring, vue, redis)

깃 또는 소스파일은 어디서 확인할 수 있죠?

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
John 댓글 1 좋아요 0 조회수 249

쿼리, jpa 질문 있습니다.

해결됨

웹소켓/STOMP 채팅서비스(spring, vue, redis)

16:00 초에 보면 채팅 메세지를 가져오는데 이때 멤버 정보도 같이 가져오는 것 같다고 보여지는데 findByRoomOrderByCreatedTimeAsc를 호출할때 쿼리가 어떻게 날아가는지 이해가 잘 안되서 질문드립니다. 메세지의 개수마다 멤버 테이블에 join해서 가져오는게 맞는걸까요?

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
hxcva1 댓글 2 좋아요 0 조회수 177

erd 관련 질문있습니다.

해결됨

웹소켓/STOMP 채팅서비스(spring, vue, redis)

participant를 복합키인 채팅방id와 회원아이디를 message에 1대다로 연결하는것과 회원과 채팅방의 pk를 가져와 메세지에 연결하는 방식의 차이 부분이 잘 이해가 안되서 두 방식의 차이와 성능의 차이가 있는지에 대해 조금 더 자세한 설명을 들을 수 있을까요?

  • spring-boot
  • websocket
  • stomp-websocket
  • pubsub
  • vue-3
hxcva1 댓글 2 좋아요 0 조회수 199

인기 태그

인프런 TOP Writers

주간 인기글