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("/", (_, res) => res.render("home"));
app.get("/*", (_, res) => res.redirect("/"));
const handleListen = () => console.log(`Listening on http://localhost:3000`);
const server = http.createServer(app);
const wss = new WebSocket.Server({ server });
function onSocketClose() {
console.log("Disconnected from the Browser ❌");
}
const sockets = [];
wss.on("connection", (socket) => {
sockets.push(socket);
console.log("Connected to Browser ✅");
socket.on("close", onSocketClose);
socket.on("message", (message) => {
sockets.forEach((aSocket) => aSocket.send(message));
});
});
server.listen(3000, handleListen);
이번엔 배열로 여러브라우저에 메세지를 보낼 수 있게 했다. 브라우저를 2개 키고 메세지를 보내도 각 브라우저에서 메세지를 받을 수 있다.
댓글