๐ WebSocekt( )
๋งํฌ : https://developer.mozilla.org/ko/docs/Web/API/WebSocket
์น์์ผ ๊ฐ์ฒด ์์ฑํ๊ธฐ
Ex) const socket =newWebSocket('ws://localhost:8080');
์ด๋ฒคํธ๋ฆฌ์ค๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์ข
๋ฅ : connection, close, error, headers, listening
๊ทธ ์ค connection์ ์ฌ์ฉํ ๊ฑด๋ฐ, ์ฐ๊ฒฐ ๋์์ผ๋ฉด, ์ด๋ค ์ด๋ฒคํธ๋ฅผ ์คํํด~ ์ ๊ฐ์ ์๋ฏธ์ด๋ค.
์ด ๋ฉ์๋๋ ์ฝ๋ฐฑ์ผ๋ก socket์ ๋ฐ๋๋ฐ, ์ฝ๊ฒ ์ค๋ช ํ์๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ฐ๊ฒฐ๋ ๊ฑด๋ํธ์ ๋๊ตฐ๊ฐ์ด๋ค.
socket์ ์ด์ฉํ๋ฉด ๋ฉ์ธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ ํ ์ ์๊ฒ ๋๋ค.
ํ๋ก ํธ ๋จ (app.js)์์๋ socket์ ์ ์, ๋ฐฑ ๋จ(server.js)์์๋ socket์ ์ ์ํจ์ผ๋ก์ ๋ฐฑ์๋๋ก๋ถํฐ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ ์๊ณ , ํ๋ก ํธ์์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ผ ์ ์๋ค.
- server.js ์ socket : ์ฐ๊ฒฐ๋ ๋ธ๋ผ์ฐ์
- app.js์ socket : ์๋ฒ๋ก์ ์ฐ๊ฒฐ
server.js - ๋ฐฑ์๋์์์ socket
const server = http.createServer(app); //http server
const wss = new WebSocketServer({ server }); //websocket server + http server
wss.on("connection", (socket) => {
socket.send("hello");
});
connection์ด ์๊ฒผ์ ๋, socket์ผ๋ก ์ฆ์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ธ๋ค. (socket.send)
app.js - ํ๋ก ํธ์๋์์์ socket
const clientSocket = new WebSocket(`ws://${window.location.host}`);
//(1)
clientSocket.addEventListener("open", () => {
console.log("Connected to Server");
});
//(2)
clientSocket.addEventListener("message", (message) => {
console.log("Just Got This : ", message, "from the Server");
});
//(3)
clientSocket.addEventListener("close", () => {
console.log("Disconnected from Server");
});
(1) connection์ด "open"๋๋ฉด ๋ณผ ์ ์๋ ๋ฉ์ธ์ง๋ฅผ ๋ด๊ณ ์๋ ์ด๋ฒคํธ
(2) "message"๋ฅผ ๋ฐ์ ๋๋ง๋ค ๋ด์ฉ์ ์ถ๋ ฅํ๋ ์ด๋ฒคํธ
(3) ์๋ฒ๊ฐ ์คํ๋ผ์ธ์ด ๋ ๋("close"๋ ๋) ์คํ๋๋ ์ด๋ฒคํธ
'Frontend > Javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
socket.io (1) - ๊ธฐ๋ณธ์๋ฆฌ (1) | 2023.04.13 |
---|---|
WebRTC - ์ค์๊ฐ ์ฑํ APP ๋ง๋ค๊ธฐ (5) (0) | 2023.04.13 |
WebRTC - ์ค์๊ฐ ์ฑํ APP ๋ง๋ค๊ธฐ (3) (0) | 2023.04.13 |
WebRTC - ์ค์๊ฐ ์ฑํ APP ๋ง๋ค๊ธฐ (2) (0) | 2023.04.13 |
WebRTC - ์ค์๊ฐ ์ฑํ APP ๋ง๋ค๊ธฐ (1) (0) | 2023.04.13 |