[Node.js] Zoom 클론코딩 - 채팅편
·
Node.js/실험실
0. 들어가며 앞서 세팅편을 보지 않으셨다면 먼저 보고 오시는 것을 추천합니다. 1. [Node.js] Zoom 클론코딩 - 세팅편 1. 서버 설정하기 npm i ws Node.js에서 webSocket의 핵심 패키지인 ws이다. express는 기본적으로 http를 지원하기 때문에 ws는 지원하지 않는다. 그래서 서버에 ws 기능을 추가로 설치할 예정이다. import express from "express"; import http from "http"; const app = express(); app.set("view engine", "pug"); app.set("views", __dirname + "/views"); app.use("/public", express.static(__dirname + ..
웹소켓
·
개발정보
웹소켓? TCP 연결에 완전한 이중 통신 채널을 제공하는 컴퓨터 프로토콜이다. 서버와 클라이언트 간의 웹소켓 연결은 HTTP 프로토콜을 통해 이루어지는데, 연결이 정상적으로 이루어진다면 서버와 클라이언트 간에 웹소켓 연결(TCP/IP)이 이루어지고 일정 시간이 지나면 HTTP 연결은 자동으로 끊어진다. 서버와 클라이언트 간의 효율정인 양방향 통신과 데이터 전송을 위해서 사용된다. 일반적으론 클라이언트에서 Request를 보내면 서버에서 Response로 응답하는 StateLess 관계로 알고 있다. 즉, HTTP 통신은 클라이언트가 요청을 보내는 경우에만 서버가 응답하는 단방향 통신 방식 하지만, 웹소켓은 StateFull하다. 매번 요청을 보내는 것이 아닌 한 번의 요청으로 HandShake 과정을 거..