서버와 클라이언트 양방향 연결의 통신, 실시간 데이터 전달에 주로 사용
npm install socket.io
socket.emit('소켓 명', '보낼 데이터')
socket.on('소켓 명', '받을 데이터')
server.js 일부
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server);
var fs = require('fs');
app.use(express.static('public'));
app.get('/', (req, res) => {
res.sendFile(__dirname + "/public/index.html"); // html 문서를 지정
});
// 소켓 연결시
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('disconnect', () => {
console.log('user disconnected');
});
socket.emit('result', `${socket.id}로 연결 되었습니다.`);
socket.on('message', (msg) => {
console.log("클라이언트의 요청이 있습니다.");
console.log(msg);
socket.emit('result', `수신된 메세지는 "${msg}" 입니다.`);
});
});
server.listen(3000, () => {
console.log("server is listening at localhost: 3000"); //localhost:3000으로 접속
});
index.html 일부
<script src="index.js"></script>
index.js 일부
socket.on('data', (msg) => {
console.log(msg);
});