- SockJS 사용하기
- 최초 handshaking 타이밍?
연결 시간?- heartbeat 에 대해서 클라이언트에서 해야할일 찾아보기
- 인터벌이나 타임아웃만 설정하면 될듯
- 구독할떄 url
- /api/chat/init
- 데이터 전송 url
- /api/chat/partyId
- 인증, 인가 언제 할지
- 연결 요청 시
- 안읽은 메세지에 대한 처리
- 채팅 페이지가 아닌 곳에서 응답이 왔을 때, 사용자에게 알림만 주고, 채팅방 카운트 증가
- 데이터
- 최초 채팅창 접속
- 요청
- 응답
- 웹소켓
- 요청(ws)
- handshaking : JWT 토큰
- chatting(publish) : JWT 토큰, partyId, message
- JWT 토큰 : 헤더, partyId : path, message : body
- 채팅 시, 채팅 내역 사이드에서 대기 중인 ui 보여주다가 서버에 반영되면 시간 띄우게
- 응답(ws)
- handshaking : 연결 응답
- chatting : message_id, user_id, username, message, time,
- 채팅 페이지가 아닌 곳을 보고 있을때 ws 프레임 → 메시지 알림 카운트만 올라감
- pagenation(http)
- 요청
- 응답
- /api/chat/init 으로 Connect 연결
- /api/chat/sub/partyId 로 Subscribe
- /api/chat/pub/PartyId 로 Send
- 위의 3개의 단계 모두 인증, 인가 처리를 함
- Send가 들어오면 채팅 정보 저장 후 구독한 사람에게 전송
백앤드 로직