๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket
5

SpringBoot3 WebSocket ChattingServer๋ง๋ค๊ธฐ 5๋จ๊ณ - ์ฑํ
๋ฐฉ ์ธ์ ์ ์ฒดํฌ, Server Side Event ์ฒ๋ฆฌ
0. ๋ชฉ์ฐจ 1. ๊ฐ์ - ์ด์ ๊ณผ ๋ฌ๋ผ์ง ์ 2. ์ ๊ฐ๋ 3. ์ฝ๋ ๋ถ์ 4. ํ๋ก์ ํธ ์งํํ๋ฉด์ ๊ฒช์๋ ์ค๋ฅ๋ค https://www.daddyprogrammer.org/post/5290/spring-websocket-chatting-server-enter-qut-event-view-user-count/ ๋ฅผ ๋ณด๊ณ ์งํ ํ์ต๋๋ค. 1. ๊ฐ์ โ ์
์ฅ ํด์ฅ ์ ์ธ์ ์ ์ฒดํฌํด์ ์ธ์ ์๋ฅผ ์ฑํ
๋ฐฉ์ ํ์ โ ์ ๋ฒ ํฌ์คํ
๊น์ง๋ ์ฑํ
๋ฐฉ ์
์ฅ๊ณผ ๊ตฌ๋
์ ํด๋ผ์ด์ธํธ์์ ์ธ์งํ๊ณ ๋ฐฑ์๋๋ก ๋ณด๋ด์ฃผ๊ณ , ๊ทธ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํ์. ์ด๋ฒ์๋ Sever Side์์ ํด๋น ์ด๋ฒคํธ๋ฅผ ์ง์ ์ธ์ง ํ๊ณ , ์ผ์ ์ฒ๋ฆฌํ๋๋ก ๋ฐ๊ฟจ์. 2. ์ ๊ฐ๋ ์๋ ๋ฐฐ์ธ ๋ Controller -> service -> Repository๋ก ์ผ์ด ์ ํด์ ธ ์์์ง..
2024.01.23
๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket

SpringBoot WebSocket Chatting Server๋ง๋ค๊ธฐ 4๋จ๊ณ - SpringBoot Security ์ฅ์ฐฉ
0.๋ชฉ์ฐจ ๊ณต๋ถํ ๋ด์ฉ๋ค์ ์ถ์ฒ: ddadyProgrammer๋์ ๋ธ๋ก๊ทธ Spring websocket chatting server(4) - SpringSecurity + Jwt๋ฅผ ์ ์ฉํ์ฌ ๋ณด์๊ฐํํ๊ธฐ ์ด๋ฒ ์ฅ์์๋ SpringSecurity์ Jwt๋ฅผ ์ด์ฉํ์ฌ Web ๋ฐ Websocket์ ๋ณด์์ ์ข ๋ ๊ฐํํ๊ณ . ๊ธฐ์กด์ ๋ณต์กํ ๋ก์ง์ ๊ฐ์ํํ๋ ์์
์ ์งํํด ๋ณด๊ฒ ์ต๋๋ค. ํฌ๊ฒ ์๋์ 3๊ฐ์ง ์์
์ ์งํํ๊ฒ ์ต๋๋ค. Spri www.daddyprogrammer.org 1. ๊ฐ์ (์๋กญ๊ฒ ์ถ๊ฐํ ๊ฒ๋ค) 2. ์ ๊ฐ๋ 3. ์ฝ๋ ๋ถ์ 4. ํ๋ก์ ํธ ์งํํ๋ฉฐ ๋ง๋ฌ๋ ์ค๋ฅ ๋ชจ์ 1. ๊ฐ์ ์ด๋ฒ ์ฅ์์๋ ์๋กญ๊ฒ Spring Security๋ฅผ ์ ์ฉํ๋ค. ์๋ ํ๋ก์ ํธ๋ ์ ๊ทผํ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ํ๋ช
๋ง ์
๋ ฅํ๋ฉด ๋ชจ๋ ์ฌ์ฉ..
2024.01.22
๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket

SpringBoot WebSocket Chatting Server ๋ง๋ค๊ธฐ 3๋จ๊ณ - ์ฌ๋ฌ ์ฑํ
์๋ฒ ๊ฐ์ ๋ฉ์ธ์ง ๊ณต์ (by Redis Pub/sub)
2
https://www.daddyprogrammer.org/post/4731/spring-websocket-chatting-server-redis-pub-sub/ 0.๋ชฉ์ฐจ 1. ๊ฐ์ 2. ์ ๊ฐ๋, ์ ์ฒด์ ์ธ ํ๋ฆ ํ์
3. ์ฝ๋ ๋ถ์ 4. ํ๋ก์ ํธ ์งํํ๋ฉด์ ์์๋ ์๋ฌ ํด๊ฒฐ 1. ๊ฐ์ ์ด๋ฒ ํ๋ก์ ํธ์์๋ Redis๋ผ๋ ์ธ๋ฉ๋ชจ๋ฆฌํ DB๋ฅผ ํ์ฉํ์ฌ 2๋ฒ๊น์ง ์งํํ๋ STOMP์ WebSocket๋ง์ผ๋ก ๊ตฌํํ Chatting Server ํ๋ก์ ํธ๋ฅผ ๋ ๊ณ ๋ํ ํ๋ ค๊ณ ํ๋ค. ์ด? ์ด๋ฏธ ํ๋์ ์๋ฒ์์ ์๋ก ๋ฉ์ธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ์ถฉ๋ถํ ๋๋๋ฐ ์ Redis๋ฅผ ์ฅ์ฐฉํด์ผ ํ ๊น์? ๊ทธ๋ ๋ค๋ฉด, ๋จผ์ Redis๋ฅผ ์ ์ฅ์ฐฉํด์ผ ํ๋์ง์ ๋ํด์ ์ค๋ช
ํ๊ฒ ๋ค. โ STOMP์ WebSocket๋ง์ ์ฐ๋ Chatting Serv..
2024.01.20
๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket

Spring websocket chatting server ๋ง๋ค๊ธฐ 2๋จ๊ณ - ๊ณ ๋ํ
๋ณธ ํ๋ก์ ํธ๋ ์คํ๋ง ์น์์ผ ์ฑํ
์๋ฒ ๋ง๋ค๊ธฐ ๋ฅผ ์ค์ตํ๋ฉฐ ๊ณต๋ถํ๊ธฐ ์ํ ํ๋ก์ ํธ ์
๋๋ค. branch ๋ณ๋ก ์ด 6๋จ๊ณ ๋ชจ๋ ์งํํ ์์ ์
๋๋ค. 0. STOMP๋ ๋ฌด์์ธ๊ฐ? Stomp๋ SimpleTextOrientedMessagingProtocol์ ์ฝ์๋ก, ํ
์คํธ ๊ธฐ๋ฐ ์๋ฐฉํฅ ํต์ ์ ํจ์จ์ ์ผ๋ก ํ๊ธฐ ์ํ ํต์ ๊ท์ฝ์ด๋ค. Stomp์ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค. Stomp์๋ 3๊ฐ์ง ๊ฐ๋
์ด ์กด์ฌํ๋๋ฐ, Topic, Publisher, Subscriber๊ฐ ๊ทธ๊ฒ์ด๋ค. Topic์ ์ฐ์ฒดํต์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. publisher๋ ๋ฉ์ธ์ง ๋ฐํ์์ด๋ค. Publisher๊ฐ ์ด๋ค Topic์ EndPoint๋ก ์ก๊ณ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ฉด ํด๋น ์ฐ์ฒดํต์ผ๋ก ๋ฉ์ธ์ง๊ฐ ๋ค์ด๊ฐ๋ค. ์ด๋ ํด๋น Topic์ ๊ตฌ๋
ํ๊ณ ์๋ Subscriber..
2024.01.14
๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket

SpringBoot WebSocket chatting server ๋ง๋ค๊ธฐ 1๋จ๊ณ
๋ณธ ํ๋ก์ ํธ๋ ์คํ๋ง ์น์์ผ ์ฑํ
์๋ฒ ๋ง๋ค๊ธฐ ๋ฅผ ์ค์ตํ๋ฉฐ ๊ณต๋ถํ๊ธฐ ์ํ ํ๋ก์ ํธ ์
๋๋ค. branch ๋ณ๋ก ์ด 6๋จ๊ณ ๋ชจ๋ ์งํํ ์์ ์
๋๋ค. ํด๋น ๋ด์ฉ์ผ๋ก ๋ง๋ ํ๋ก๊ทธ๋จ์
๋๋ค. ์ฒซ ๋จ๊ณ๋ผ์ firstStep์ด๋ branch์ ์ ์ฅํ์์ต๋๋ค. https://github.com/dalcheonroadhead/WebSocketBEPractice/tree/firstStep 1. ์ ๊ฐ๋ 1-1 Server Logic ํด๋น ๋ธ๋ก๊ทธ์ Basic WebSocket์ ์ ๊ฐ๋ ์ด๋ค. ์์ฃผ ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์ง DB์ ์ฐ๊ฒฐํ์ง ์๊ณ , ์๋น์ค์ ์ปจํธ๋กค๋ฌ, ๋ชจ๋ธ, ์น์์ผ ์ค์ ๋๋ ํ ๋ฆฌ๋ง ํ์ํ๋ค. 1-2 Server์ Client ์ ์ฒด Logic ๋จผ์ ๋ด๊ฐ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ Rest API์ ์์ผ์ด ๋ค๋ฅธ ์ฅ์์์ ma..
2024.01.07
๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket