본 포스팅은 노마드코더 - 줌 클론코딩 강의를 듣고 작성되었습니다.
npm run dev //서버 실행
실시간 chat, notification과 같은 real-time 제작 가능
http & WebSocket은 모두 protocol이라는 공통점을 有
express는 http를 사용 BUT WS는 websocket을 사용
∴ express 서버와 같은 서버에 ws기능을 설치할것
다음과 같이 server.js를 작성함으로써 서버를 구축한다.
import http from "http";
import WebSocket from "ws";
import express from "express";
const app = express();
app.set("view engine", "pug");
app.set("views", __dirname + "/views");
app.use("/public", express.static(__dirname + "/public"));
app.get("/", (req, res) => res.render("home"));
app.get("/*", (req, res) => res.redirect("/"));
const handleListen = () => console.log("Listening on http://localhost:3000");
const server = http.createServer(app);
const wss = new WebSocket.Server({ server });
이렇게 함으로써, localhost:3000이라는 같은 port에서 http 서버 & webSocket 서버를 모두 사용 가능! (동일 포트에서 http, ws request 두 개 모두 처리 가능)
∴ http 서버에 access하게 한 뒤, http 서버 위에 webSocket 서버를 만든것