socket io 설치

npm install socket.io --save

백엔드

const app = require("express")();
const server = require("http").createServer(app);
const cors = require("cors");
const io = require("socket.io")(server, {
  cors: {
    origin: "*",
    credential: true,
  },
});

io.on("connection", (socket) => {
  socket.on("message", ({ name, message }) => {
    io.emit("message", { name, message });
  });
});

server.listen(4000, function () {
  console.log("listening on port 4000");
});

코드 설명

io.on("connection", (socket) => {
  console.log('connect') // 소켓이 연결되면 connect 가 뜬다. 
  socket.on("message", ({ name, message }) => {
    io.emit("message", { name, message });
  });
});

io.on의 connection 이벤트는 소켓이 연결됨을 알려주는 이벤트

소켓이 연결되면, 클라이언트에서 받은 message 이벤트를 처리한다. 콜백 함수로 전달 받은 데이터를 처리할 수 있다. 전달 받은 데이터는 다시 클라이언트로 전달한다.