Spring STOMP4 [Spring]Websocket Stomp 실시간 투표 이번 프로젝트에서 실시간 투표를 만들기 위해서 공부를하다가 기록을 하기위해서 글을 씁니다. Websocket Web Socket (웹 소켓) - 서버와 클라이언트 간에 Socket Connection을 유지해서 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술로써, sns, 화상 채팅, 증권 거래 등에서 널리 사용되고 있다. WebSocket을 사용하는 이유 실시간 채팅 앱과 같은 요구사항들을 반영하기 위해 클라이언트에서 매번 HTTP 프로토콜을 통해 서버에 요청하는 것은 비효율적이다. 클라이언트에서 Ajax 통신 등으로 일부 보완할 수 있지만, Ajax도 결국 HTTP를 사용하기 때문에 여전히 문제가 되며, 웹 소켓을 통해 이를 해결할 수 있다. WebSocket의 특징 WebSocket은 .. BE/Spring 2023. 10. 18. [Spring] 채팅서버 구현 Stomp/Sockjs (2) StompStomp는 메시징 전송을 효율적으로 하기 위해 나온 프로토콜이며 기본적으로 pub/sub 구조로 되어있어 메시지를 발송하고, 메시지를 받아 처리하는 부분이 확실히 정해져 있기 때문에 개발하는 입장에서 명확하게 인지하고 개발할 수 있는 이점이 있습니다. 또한 Stomp를 이용하면 통신 메시지의 헤더에 값을 세팅할 수 있어 헤더 값을 기반으로 통신 시 인증처리를 구현하는 것도 가능합니다.pub/sub란 메시지를 공급하는 주체와 소비하는 주체를 분리하여 제공하는 메시징 방법입니다. 기본적인 콘셉트를 예로 들면 우체통(topic)이 있으면 집배원(publisher)이 신문을 우체통에 배달하는 액션이 있고, 우체통에 신문이 배달되는 것을 기다렸다가 빼서 보는 구독자(subscriber)의 액션이 있습니.. BE/Spring 2023. 9. 7. [Spring]채팅서버 구현 WebSocket(1) WebSocket기존의 단방향 HTTP 프로토콜과 호환되어 양방향 통신을 제공하기 위해 개발된 프로토콜.일반 Socket통신과 달리 HTTP 80 Port를 사용하므로 방화벽에 제약이 없으며 통상 WebSocket으로 불린다.접속까지는 HTTP 프로토콜을 이용하고, 그 이후 통신은 자체적인 WebSocket 프로토콜로 통신하게 된다. 웹 소켓은 HTTP(Hyper Text Transfer Protocol)를 사용하는 네트워크 데이터 통신의 단점을 보완하는데 그 목적이 있다. HTTP를 다뤄본 적이 있다면, HTTP는 HTML이라는 문서를 운반하기 위한 프로토콜로 다음과 같이 동작한다. 모든 HTTP를 사용한 통신은 클라이언트가 먼저 요청을 보내고, 그 요청에 따라 웹 서버가 응답하는 형태이며 웹 서버는.. BE/Spring 2023. 9. 6. [Spring]WebSocket WebSocket 이란? 클라이언트-서버간 데이터를 주고받기위한 통신 프로토콜 HTTP vs WebSocket HTTP는 클라이언트의 요청과 서버의 응답이 한 쌍으로 이루어져 있으며 서버의 응답후 연결은 끝이난다. HTTP는 무상태성(Stateless)을 지닌다. 반면 웹소켓은 HTTP와 달리 클라이언트-서버간 연결을 유지하며 양방향 통신을 가능하게함. WebSocket의 동작 흐름 웹소켓의 동작흐름은 클라이언트가 서버에게 Upgrade Header를 이용하여 HTTP요청을보낸다(핸드쉐이크 요청) 서버는 해당 요청에 101코드로 응답하며 프로토콜을 HTTP에서 웹소켓으로 변경시킨다. 커넥션이 완료되고 이제 양방향 통신이 가능해진다. 커넥션을 종료할때는 클라이언트,서버 양쪽에서 모두 커넥션을 종료할수있다... BE/Spring 2023. 9. 5. 이전 1 다음