-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BE] 기존 SSE 코드 완전 제거 및 타이머 동기화 기능을 웹소켓으로 변경 작업 마무리 #985
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
웹소켓 어떻게 사용하셨는지 궁금해서 브랜치 pull 받아서 코드 쭉 살펴봤는데 정말 깔끔하게 잘 구현하셨더라구요. 대단해요 👍👍
수고 많으셨습니다!!
final String pairRoomAccessCode = parsePairRoomAccessCode(session); | ||
pairRoomWebSocketSessionStore.removeSession(pairRoomAccessCode, session); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
페어룸에 있는 사용자가 한 명 나갔을 경우, 이 메서드가 실행되어 세션이 삭제되는 방식이 맞을까요??
신기하네요!!😀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
맞습니다!! 웹소켓 연결이 끊어질경우 실행되는 후처리 함수에서 직접 정의한 세션을 삭제합니다!
아 근데.. 이거 이방식이면 SSE 처럼 프로덕션 A, B로 분리되면 유지가 안되네요..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sse 쓸 때도 커넥션 저장하는 용도의 스토리지가 있었는데, 웹소켓은 PairRoomWebSocketSessionStore
이 친구가 그 역할을 하고 있는 것 같더라구요. 레디스 써야겠네요😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고 많으셨습니당!
//package site.coduo.sync.service; | ||
// | ||
//import static org.assertj.core.api.Assertions.assertThat; | ||
//import static org.assertj.core.api.Assertions.assertThatThrownBy; | ||
//import static org.assertj.core.api.AssertionsForClassTypes.assertThatCode; | ||
// | ||
//import org.junit.jupiter.api.DisplayName; | ||
//import org.junit.jupiter.api.Test; | ||
//import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; | ||
// | ||
//import site.coduo.sync.exception.NotFoundSseConnectionException; | ||
// | ||
//class EventStreamsRegistryTest { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
윽 테스트 코드 다 주석처리 해두면 나중에 봤을 때 이 친구를 왜 주석처리 했는지 확인하기 어려울 것 같아요,,,ㅠ
todo 주석을 추가하여 추후에 어떻게 처리해야할지를 남겨보는건 어떤가요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
필요없는 테스트를 아예 제거했습니다! 웹소켓의 어떤 부분을 검증해볼지 다함께 의논하고 테스트를 작성해보면 좋을거 같습니다!
SSE 로직 제거에 따라 불필요한 테스트를 제거합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
테스트도 나중에 추가 부탁드립니다ㅏ
연관된 이슈
구현한 기능
상세 설명