일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 추천 사이트
- 스프링부트
- 개발시작전 자세
- Intellij
- StringUtils.hasText
- 다른사람 프로젝트 수정전 가져야할 자세
- Java
- 설정
- js
- 추천 프로그램
- it
- 하모니카 OS 5
- 시퀀스 조회
- 함수 인자값 id
- 룸북
- 프로젝트 클린
- 타임리프와 스프링
- JSON
- 타임리프
- 비밀번호 변경 명령어
- select
- 명령어
- BindingResult
- linux
- #{..}
- Test 룸북 사용하기
- cmd
- 리눅스
- 순서 보장
- 자바스크립트 인라인
- Today
- Total
웹개발 블로그
ws 라이브러리 본문
https://defineall.tistory.com/1148
[Node.js] ws란? / 사용법
ws란? 클라이언트와 서버사이의 Websocket 통신을 하게 해주는 Node.js 패키지 ws 설치 npm i ws express와 합치기 ( http + websocket ) import http from 'http' import {WebSocket} from 'ws' /* import express from 'express' const app =
defineall.tistory.com
https://nomadcoders.co/noom/lectures/3090
All Courses – 노마드 코더 Nomad Coders
초급부터 고급까지! 니꼬쌤과 함께 풀스택으로 성장하세요!
nomadcoders.co
ws : a Node.js WebSocket library
ws란? 클라이언트와 서버사이의 Websocket 통신을 하게 해주는 Node.js 패키지
node.js로 webSocket서버를 만들거다.
줄여서 ws라고 부르겠다.
ws라는 아주 멋진 package의 도움을 받을거다.
ws는 사용하기 편하고, 아주 빠르며, 클라이언트와 서버 사이의 webSocket 실행에서 검증된거야.
ws는 implementation(구현)일 뿐이야. webSocket의 핵심부분이지
(go언어, C#, java에서도 webSocket implementation을 찾을 수 있다)
-> ws는 그냥 어떤 규칙을 따르는 코드라는 뜻이야
채팅방을 예로들면
- 들어올 수도 있고
- 나갈 수도 있음
- 그리고 특정한 채팅방에 메시지를 보낼거야
-> 이런 채팅방은 ws에 포함돼 있지 않아
-> 채팅방은 webSocket protocol의 일부분이 아니기 때문이다.
-> 채팅방은 그저 멋있는 feature일 뿐
ws를 이용해 public 채팅방을 만들거다.
ws 설치
npm i ws
ws 서버를 만드는 대신
express 서버를 놓고 함께 합칠거라고 하셨다.
왜냐하면 서로는 다른 protcol이기 때문이다.
express는 http를 다룬다.
이번시간에는
express는 http를 다루지만 이젠 ws를 다룰거다.
# server.js
import express from "express";
const app = express();
//express 할일 : views를 설정해주고 render 해주는걸로 끝이다.
//❤️나머지는 websocket에서 실시간으로 알려줄거당, real-time(실시간)으로 할거당
app.set("view engine","pug");
app.set("views",__dirname+"/views");//home.pug 위치
app.use("/public",express.static(__dirname+"/public"));
//우리가 사용할 유일한 route
app.get("/",(_, res) => res.render("home"));
app.get("/*",(_, res) => res.redirect("/"));//오!! 다른 url은 전혀 사용하지 않을 것이며 홈만 사용할거라 추가!
const handleListen = () => console.log(`Listening on http://localhost:3000/`)
app.listen(3000,handleListen);
아직 http만 작동!
🔽
import http from "http";
import WebSocket from "ws";
import express from "express";
const app = express();
//express 할일 : views를 설정해주고 render 해주는걸로 끝이다.
//❤️나머지는 websocket에서 실시간으로 알려줄거당, real-time(실시간)으로 할거당
app.set("view engine","pug");
app.set("views",__dirname+"/views");//home.pug 위치
app.use("/public",express.static(__dirname+"/public"));
//우리가 사용할 유일한 route
app.get("/",(req, res) => res.render("home"));
app.get("/*",(req, res) => res.redirect("/"));//오!! 다른 url은 전혀 사용하지 않을 것이며 홈만 사용할거라 추가!
const handleListen = () => console.log(`Listening on http://localhost:3000/`)
//app.listen(3000,handleListen);
//순서1) 서버 만들기
const server = http.createServer(app);
//🔽순서2) 이렇게 하면 http서버, webSocket서버 둘 다 돌릴 수 있다.
//여기서 하고 있는 것은, 같은 서버에 3000포트에 http, webSocket 둘 다 작동시키는거야.
const wss = new WebSocket.Server({server});
//http 서버 위에 ws 서버가 만들어 졌다.
server.listen(3000,handleListen);
이제 같은 서버(3000포트)에 http와 webSocket 둘다 작동한다.
※이렇게 같은 포트에 구동할 필요는 없다고 하셧다!
'◆줌 프로젝트 > 기초' 카테고리의 다른 글
[사이트] SOCKET.IO 문서 사이트 (0) | 2023.03.05 |
---|---|
[zoom] 1.3 WebSocket Events (0) | 2023.02.25 |