Websocket 2

[Spring Boot] 웹소켓 하트비트

웹소켓 하트비트(Heartbeat)란?**웹소켓 하트비트(Heartbeat)**는 클라이언트와 서버 간의 연결 상태를 **정기적으로 확인하기 위한 신호(패킷)**임.웹소켓은 항상 연결이 유지되는 실시간 통신 방식이지만,네트워크 문제나 브라우저 중단 등으로 인해 연결이 끊겼을 때 즉시 감지하기 어려움.이러한 상황을 방지하고 연결을 모니터링하기 위해 일정한 간격으로 하트비트(=헬스 체크 메시지)를 주고받음.1. 하트비트의 필요성왜 하트비트가 필요한가?TCP 소켓 자체는 연결이 끊겨도 서버나 클라이언트가 바로 감지하지 못하는 경우가 있음네트워크 장애, 와이파이 끊김, 브라우저 강제 종료 등 예외 상황에서 연결 유지를 보장할 수 없음클라이언트나 서버가 죽었을 때를 빠르게 감지하고 재연결하거나 리소스를 정리할 필..

[Spring Boot] STOMP

STOMP란 무엇인가 – 웹소켓을 더 구조화하기 위한 프로토콜STOMP (Simple Text Oriented Messaging Protocol) 는 텍스트 기반의 경량 메시징 프로토콜로, 웹소켓 상에서 메시지를 주고받을 때 구조적이고 표준화된 방식으로 통신을 가능하게 해주는 프로토콜임.웹소켓이 단순한 통신 채널이라면, STOMP는 그 위에서 주제(topic), 구독(subscription), 전송(send), 연결 관리 등을 정의하는 규약임.Spring Framework에서는 STOMP를 통해 복잡한 웹소켓 로직을 단순화하고, 채팅, 실시간 알림, 브로커 연동 등을 쉽게 구현할 수 있음.1. 왜 STOMP를 사용하는가?웹소켓 자체는 프레임 단위로 데이터를 주고받는 낮은 수준의 통신 프로토콜임.예를 들어..