server.js
파일 성성 후 터미널에 yarn init
yarn add express ws
const express = require('express');
const app = express();
app.use('/', function (req, res) {
res.sendFile(__dirname + '/index.html');
});
app.listen(8080);
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>웹소켓 연습하기</title>
</head>
<body>
<h4>채팅페이지입니다</h4>
<button id="send">메세지 보내기</button>
</body>
</html>
const webSocket = require('ws');
const socket = new webSocket.Server({
port: 8081
})
<script>
let socket = new webSocket("ws://localhost:8081")
</script>
<button id="send" onclick="socket.send('원하는 문자 입력')">메세지 보내기</button>
socket.on('connection', (ws, req) => {
ws.on('message', (msg) => {
console.log('유저가 보낸거 : ' + msg);
ws.send('서버에서 유저에게 보내는 메세지');
});
});
ws대신 socket.io라이브러리 쓰면
1. 연결 끊기면 자동 재접속 기능
2. 웹소켓 접속자마다 자도 ㅇid 부여
3. 모든 웹소켓 유저에게 전체 메세지 전송 가능
4. 웹소켓방을 생성 가능