node.js socket통신

서주·2023년 7월 11일

소켓통신이뭘까

서버와 클라이언트 양방향 연결의 통신, 실시간 데이터 전달에 주로 사용

소켓 모듈 설치

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);
 });

0개의 댓글