WebSocket
WebSocket์ ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ๊ฐ์ ์๋ฐฉํฅ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ํ๋กํ ์ฝ์ ๋๋ค.
์ด์ ์๋ ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ๊ฐ์ ํต์ ์ ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ด๊ณ ,
์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์๋ต์ ๋ณด๋ด๋ ๋จ๋ฐฉํฅ ํต์ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ก์ต๋๋ค.
์ด๋ฌํ ๋ฐฉ์์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ์๋ ๋ถ์ ํฉํ์ต๋๋ค.
WebSocket์ ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํ๋กํ ์ฝ์
๋๋ค.
WebSocket์ HTTP์ ๋น์ทํ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ง๋ง,
์ผ๋ฐ์ ์ธ HTTP์๋ ๋ฌ๋ฆฌ ๊ณ์์ ์ธ ์ฐ๊ฒฐ์ ์ ์งํ๋ฉด์ ์๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ต๋๋ค.
์ด๋ฅผ ํตํด ์น ๋ธ๋ผ์ฐ์ ์์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋ฉ๋๋ค.
์น์์ผ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ ์์ฒญ์ ํ๊ณ ์น ์๋ฒ๊ฐ ์๋ตํ ํ ์ฐ๊ฒฐ์ ๋๋ ๊ฒ์ด ์๋
Connection์ ๊ทธ๋๋ก ์ ์งํ๊ณ ํด๋ผ์ด์ธํธ์ ์์ฒญ ์์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ ํ๋กํ ์ฝ์ด๋ค.
ํ๋กํ ์ฝ์ ์์ฒญ์ [ws://~]๋ก ์์ํ๋ค.
WebSocket ์ ์ ๊ณผ์
WebSocket ๊ตฌํ ํ ์คํธ
1. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ
implementation 'org.springframework.boot:spring-boot-starter-websocket'
2. WebSocket Handler
์์ผํต์ ์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ 1:N์ ๊ด๊ณ๋ฅผ ๋งบ๋๋ค. ์ฆ, ํ๋์ ์๋ฒ์ ๋ค์ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ ์ ์๋ค.
๋ฐ๋ผ์ ์๋ฒ๋ ๋ค์์ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ ํธ๋ค๋ฌ๊ฐ ํ์ํ๋ค.
ํธ๋ค๋ฌ๋ฅผ ์ด์ฉํด WebSocket์ ํ์ฑํํ๊ธฐ ์ํ Config๋ฅผ ์์ฑํ ๊ฒ์ด๋ค.
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer
@EnableWebSocket ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํด WebSocket์ ํ์ฑํ ํ๋๋ก ํ๋ค.
'Develop > Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTTP] @RequestMapping - GET , POST ์ ์ฐจ์ด (0) | 2023.02.16 |
---|