백엔드/socket

socket

테오구 2021. 12. 12. 14:52
728x90

기존의 http는 client가 server에 요청을 하고 이에 따른 응답을 받습니다.

만약 server에 공지가 생겼더라도 client가 요청을 보내지 않으면 server는 아무것도 보낼 수 없고 클라이언트가 요청할 때까지 기다려야합니다.

 

반면에 Web Socket은 client와 server의 관계가 connection이 형성만 되면 공지사항이 생기더라도 server에서 먼저 data를 보내줄 수 있습니다.

 

Server

 

Socket.io

  • npm install socket.io

Socket.io 서버 생성

  • import { Server } from 'socket.io'
  • const server = new Server(httpServer)

Server

  socket.emit('message', '메세지');

Client

이벤트 베이스이기 때문에 on을 사용해야합니다.
socket.on('message', function(msg) {
    document.writeln('<li>');
    document.writeln(msg);
    document.writeln('</li>');
});

socket을 설정해야하는 이유는 트위터나 페이스북같은 실시간으로 트윗을 가져와야하는 서비스에서 주로 사용

 

 

https://socket.io/docs/v4/server-api/

728x90