본문 바로가기

카테고리 없음

웹소켓(22.12.08TIL)

오늘 강의화면을 띄우는 과정에서 가짜구현을 전부 실제서버로 대체했다. 이제 핵심기능인 채팅방 기능을 구현해야 할 것 같아서 저번에 승준님이 말씀해주신 웹소켓에 대해서 학습해보기로 했다.

웹소켓

웹소켓은 실시간성을 보장하는 서비스를 말한다. 게임, 채팅, 주식 거래등을 위해 사용한다. HTTP에도 실시간성을 보장하는 Polling, Streaming 기법이 존재하지만 http 헤더에 매우 많은 정보를 담기 때문에 자원낭비가 심하다. 웹소켓도 http와 마찬가지로 핸드셰이크를 통신을 시작할때 핸드셰이크를 이용하고, 그 이후에는 계속해서 연결을 유지한다. 내가 구현해야 하는 실시간 채팅에는 웹소켓이 적절할 것 같다.

 

HTTP vs 웹소켓

 

Spring에서의 웹소켓 구현 방법

서버 프레임워크에서도 거의 다 웹소켓을 지원한다. 자바 - 스프링을 사용하기 때문에 스프링에서 어떻게 웹소켓을 구현하는지 알아봐야 할 것 같다. 구글링해서 찾아볼 수 있는 예제들이 거의 다 node.js인데 이 예제로 먼저 어떻게 웹소켓이 어떻게 동작하는지 확인하고 나서 스프링 공식문서에서 웹 소켓 관련된 내용을 공부해보면 좋을 것 같다.

 

+ WebSocketHandler를 이용하면 스프링에서 웹소켓을 구현할 수 있다고 하니 내일은 WebSocketHandler와 STOMP에 대해서 학습해보자!