WebSocket() - Web API | MDN

WebSocket 통신 기본 in Node.js

서로의 소켓 정보를 저장해서 연결되게끔 한다는것

서로의 소켓 정보를 저장해서 연결되게끔 한다는것

client(app.js)에서의 socket엔 ‘서버에 연결’된 정보가 저장되고,

server(server.js)에서의 socket엔 ‘연결된 브라우저’ 정보가 저장된다.

const socket = new WebSocket(`ws://${window.location.host}`);

function handleOpen() {
    console.log("Connected to Server");
}

socket.addEventListener("open", handleOpen());  //open 이벤트

socket.addEventListener("message", (message) => {   //message 이벤트
    console.log("Just got this: ", message.data, "from the Sever");
});

socket.addEventListener("close", () => {  //close 이벤트
    console.log("DisConnected from Server");
})

setTimeout(()=> {
    socket.send("hello im browser!");
}, 10000);
const wss = new WebSocket.Server({ port : 3001 });  

wss.on("connection", (socket)=> {  //connection 이벤트 == open 이벤트
    console.log("Connected to Browser");
	  socket.on("close", ()=> console.log("Disconnected from the Browser"));//close 이벤트
    socket.on("message", (message) => {  //message 이벤트
        console.log(`${message}`);
    })
    socket.send("hello!!");
})

Express와 Socket 동시에 사용하기

Untitled

const socket = new WebSocket(`ws://${window.location.host}`);
const server = http.createServer(app);  //webSocket을 위해만든 http 서버

const wss = new WebSocket.Server({ server });  
// 이렇게 하면 http서버와 webSocket 서버를 동시에 둘 수 있음.

server.listen(3000, handleListen);

하위 라이브러리

SocketIO