정의
특징
사용처
스프링 웹 서버 소켓 구현
라이브러리 설치 (build.gradle)
implementation 'org.springframework.boot:spring-boot-starter-websocket'서버소켓(핸들러) 클래스
ChatHandler 클래스 생성
extends TextWebSocketHandler 상속
@Component로 스프링 컨테이너 빈 등록
주요 오버라이딩 메소드
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception { }
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception { }
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { }
서버소켓(핸들러) 스프링 등록
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Autowired
private ChatHandler chatHandler;
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(chatHandler, "/ws-path");
}
}
클라이언트 JS 웹소켓 구현
const socket = new WebSocket("ws://서버주소/ws-path");socket.onopen = function(event) { /* 연결 성공 */ }
socket.onclose = function(event) { /* 연결 종료 */ }
socket.onerror = function(event) { /* 에러 발생 */ }
socket.onmessage = function(event) { /* 메시지 수신 */ }socket.send("메시지");