[프로토콜] HTTP vs WebSocket

socket

: 서버와 연결된 브라우저의 contact(연락) 라인. 혹은 연결된 어떤 사람.

서버 생성 및 Front-Back 연결

설치

npm i ws

Server.js

import http from "http";
import WebSocket from "ws";

const app = express();

const server = http.createServer(app);
//http 서버 생성
const wss = new WebSocket.Server({server});
//같은 서버에서 http, ws를 동시에 돌림

const sockets=[];
//어느 브라우저들이 연결하고 있는지를 저장하기 위한 배열

wss.on("connection",(socket)=>{ //서버가 연결
	sockets.push(socket);
	socket.on("message", (message)=>
		{sockets.forEach((aSocket)=>
			aSocket.send(message))};
}

server.listen(3000, handleListen);

App.js

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

socket.addEventListener(“open”, ()=> {}); //연결됐을 때
socket.addEventListner(“message”, (message) => {
	const li = document.createElement(“li);
	li.innerText = message.data;
	messageList.append(li);
	});