Socket.IO ๋™์ž‘๊ณผ์ • ์‰ฝ๊ฒŒ ๋ณด๊ธฐ
ยท
๐Ÿ”ง Library/WebSocket
Socket.IO๋ž€? ์‹ค์‹œ๊ฐ„, ์–‘๋ฐฉํ–ฅ, event๊ธฐ๋ฐ˜ ํ†ต์‹ ์„ ์ œ๊ณตํ•œ๋‹ค. ํ•œ๋งˆ๋””๋กœ, ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ž„์˜๋กœ ์„ค์ •ํ•˜๊ณ , ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. websocket์ด๋ผ๋Š” web api์˜ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๋ผ, ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•ด ์กด์žฌํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์ค‘ websocket์ด๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋ฟ์ด๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ • ๋ธŒ๋ผ์šฐ์ €๋‚˜ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ websocket api๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์•„๋„, socket.io๋Š” ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์ด ์ง€์›๋œ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์—ฐ๊ฒฐ ๊ณผ์ • ์ดํ•ดํ•˜๊ธฐ 1. ์ผ๋‹จ ์„œ๋ฒ„ ์—ด๊ธฐ (pug ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ ์„œ๋ฒ„๋ฅผ ์—ด์—ˆ๋‹ค) import express from "express"; import http from "http"; import { Server } ..
์ˆœ์ˆ˜ websocket ๋‹ค๋ค„๋ณด๊ธฐ
ยท
๐Ÿ”ง Library/WebSocket
websocket์ด๋ž€?websocket์€ ํ”„๋กœํ† ์ฝœ. ์ฆ‰, ํ†ต์‹ ์˜ ๊ธฐ์ˆ ์ด๋‹ค. ์›น์—์„œ ํ†ต์‹ ํ”„๋กœํ† ์ฝœ ํ•˜๋ฉด httpํ”„๋กœํ† ์ฝœ์ด ์ƒ๊ฐ๋‚œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ํ”„๋กœํ† ์ฝœ์€ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์— ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. httpํ”„๋กœํ† ์ฝœ์˜ statelessํŠน์„ฑ์— ๋”ฐ๋ผ ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. websocket์€ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ๋‚˜์˜จ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋ฉฐ, ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ์ง€์›ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋Œ€ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ํŽธํ•˜๋‹ค! ์ด์ œ ๊ธฐ๋ณธ์ ์ธ websocket์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ๋А๊ปด๋ณด์ž์ฝ”๋”ฉ ์„œ๋ฒ„์ธก js ์ฝ”๋“œ๋ฅผ ์งœ๋ณด์ž. ๊ธฐ๋ณธ์ ์œผ๋กœ express ์™€ ws๋ฅผ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค. 1. http ์„œ๋ฒ„ ์—ด๊ธฐ, index.html์—ฐ๊ฒฐconst express = require("express"); const ap..