추가 커스텀 구현 질문 있습니다.
61
8 asked
로그인을 했을 때 소속된 채팅방에 안 읽은 메시지가 있다면, 알림(보통 종모양)에 +안읽은메시지숫자를 구현 하려고할 땐 sse 통신을 이용하는게 좋을까요?
Answer 2
0
안녕하세요~
안 읽은 메시지의 숫자가 실시간으로 변화돼야 한다면, 매우 빈번하게 통신을 해야 하니 채팅을 하는것과 동일하게 웹소켓 connect를 통한 실시간통신을 활용하는게 좋을것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 토니님.
채팅 어플리케이션에서 사용자가 로그인했을 때 사용자가 소속된 채팅방의 ‘안 읽은 메시지’ 수를 실시간 알림 버튼(종 모양)에 표시하는 기능을 구현하고자 하시는군요. 이러한 경우에는 SSE(Server-Sent Events) 또는 WebSocket을 활용하여 실시간으로 데이터를 업데이트하는 것이 적절합니다.
SSE 및 WebSocket의 활용
SSE(Server-Sent Events):
- 장점: 클라이언트로의 일방향 통신을 통해 서버에서 클라이언트로 지속적으로 데이터를 푸시할 수 있습니다. 특히, 서버에서 클라이언트로 주기적인 데이터 갱신이 필요하지만, 클라이언트에서 서버로의 계속적인 데이터 수신 요청이 필요하지 않은 경우 유용합니다.
- 적합한 경우: 주로 단방향 데이터 전송 상태를 유지해야 하는 경우, 즉 서버 푸시 기반의 알림 시스템에 잘 맞습니다.
- 장점: 클라이언트로의 일방향 통신을 통해 서버에서 클라이언트로 지속적으로 데이터를 푸시할 수 있습니다. 특히, 서버에서 클라이언트로 주기적인 데이터 갱신이 필요하지만, 클라이언트에서 서버로의 계속적인 데이터 수신 요청이 필요하지 않은 경우 유용합니다.
WebSocket:
- 장점: 양방향 통신을 지원하므로, 클라이언트와 서버 간의 데이터를 주고 받을 수 있습니다. 따라서, 채팅 메시지 전송 기능과 같은 인터렉티브한 실시간 응답이 필요한 경우 적합합니다.
- 적합한 경우: 클라이언트와 서버 간의 상시 연결을 통해 계속적인 양방향 데이터 교환이 필요한 경우(예: 채팅 메시지 송수신).
- 장점: 양방향 통신을 지원하므로, 클라이언트와 서버 간의 데이터를 주고 받을 수 있습니다. 따라서, 채팅 메시지 전송 기능과 같은 인터렉티브한 실시간 응답이 필요한 경우 적합합니다.
결론
로그인 시점에 사용자가 참여 중인 채팅방의 안 읽은 메시지 숫자를 갱신하는 용도로는 SSE가 간단하고 효과적일 수 있습니다. SSE는 서버 측에서 클라이언트로 지속적으로 알림을 푸시하기에 유리하며, 설정이 비교적 쉬운 편입니다. 다만, 양방향 소통이 필요하다면, WebSocket을 고려해보세요.
토니님이 구체적으로 어떤 방식을 선택하실지는 구현하려는 시스템의 특성 및 요구사항에 따라 다를 수 있습니다. 참고로, 관련된 질문 및 답변 링크를 제공하니 살펴보시면 도움이 될 것입니다:
- 웹소켓과 SSE의 차이점 이해하기 - 웹소켓과 SSE의 차이점 및 사용 시나리오 설명
- SSE 활용 방법과 사례 - SSE 사용 방법에 대한 구체적인 사례 설명
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ERD 질문
0
55
2
StompHandler 관한 질문
0
80
2
리프레시 토큰은 알아서 구현하면 되는건가요??
0
81
2
cors, csrf 직접 구현
0
65
1
JWT 필터구현
0
101
2
강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?
0
58
1
STOMP 동작 과정 질문
0
48
1
chain.doFilter()
0
45
1
자바 21로 소스 작성해도 되나요?
0
61
2
메시지 브로커 선택에 관한 질문
0
65
2
WebSocket과 Spring Security 질문
0
81
2
connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?
0
97
2
저도 동일한 질문인데
0
79
3
token이 필요한 엔드포인트에 의도적으로 토큰 누락시 대처
0
68
2
수업자료가 왜 다 나눠져있나요?
0
78
2
메시지 전송 시 검증
0
61
2
JWT 생성 시 subject 설정에 대한 질문
0
158
3
StompHandler 질문 있습니다.
0
82
2
앱 서비스일 경우
0
85
2
웹소켓 서버 재배포시 고려해야 할 상황 질문
0
110
2
배포 오류 질문
0
125
2
/connect 경로에 대한 토큰 검증의 필요성
0
78
1
JwtTokenProvider 작성중 오류 발생으로 문의드립니다.
0
98
2
수강료가 갑자기 인상됬던데 ㅠ
0
132
1

