Skip to content

[Feat] 웹소켓(STOMP) 클라이언트 초기 연동 #10

@Debuging-JunSeoPark

Description

@Debuging-JunSeoPark

기능 개요

웹소켓(STOMP) 클라이언트 초기 연동.
프론트엔드에서 로그인 후 자동 연결 / 재연결 / 구독/발행 준비까지 구현하여, 백엔드가 준비되면 즉시 메시지 송수신이 가능하도록 기반을 마련한다.


상세 설명

문제

  • 현재 로그인까지는 구현되어 있으나, 실시간 통신(웹소켓) 연결부가 없음.
  • 백엔드(Spring WebSocket + STOMP) 구현 전이라도 프론트에서 연결/상태 관리/구독·발행 API를 먼저 준비해야 후속 연동이 원활함.

필요성

  • 배포 시 서버 분리 예정이므로, 환경변수 기반 엔드포인트/프로토콜 분기(SockJS/native WS)와 자동 재연결 등 클라이언트 단 견고성 선구현 필요.
  • 채팅룸 컴포넌트에서 재사용 가능한 클라이언트 서비스 + Provider + 훅 구조가 요구됨.

예상 사용자 흐름/UI

  • 로그인 성공 → Access Token 확보
  • 앱이 STOMP로 자동 연결 시도(Authorization 헤더 포함)
  • 연결 상태 배지(UI)로 connecting/connected/disconnected/error 표시
  • 채팅룸 진입 시 규약 토픽 구독(/topic/rooms.{roomId}, /user/queue/rooms.{roomId}), 메시지 전송(/app/rooms.{roomId}.send) 버튼 동작

참고 사항

없음

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions