[javascript] 웹 소켓을 이용한 실시간 알림 서비스 만들기

웹 소켓을 사용하면 웹 응용 프로그램에서 실시간으로 데이터를 교환할 수 있습니다. 웹 소켓은 양방향 통신 채널을 제공하여 서버와 클라이언트 간의 실시간 데이터 전송이 가능합니다. 이번 포스트에서는 웹 소켓을 활용하여 실시간 알림 서비스를 구축하는 방법에 대해 살펴보겠습니다.

웹 소켓과 실시간 알림 서비스

웹 소켓은 HTTP와 달리 지속적인 연결을 제공하므로, 실시간 통신에 적합합니다. 실시간 알림 서비스는 채팅 애플리케이션, 주식 시장 데이터 업데이트 등과 같이 사용자에게 즉각적인 정보를 전달해야 하는 서비스에 유용합니다.

웹 소켓을 이용한 실시간 알림 서비스 구현

1. 웹 소켓 서버 설정

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
  });
});

2. 클라이언트 측 웹 소켓 연결

const socket = new WebSocket('ws://localhost:8080');

socket.addEventListener('open', function (event) {
  socket.send('Hello Server!');
});

3. 실시간 알림 서비스 구현

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    // 메시지를 모든 클라이언트에게 브로드캐스팅
    wss.clients.forEach(function each(client) {
      if (client !== ws && client.readyState === WebSocket.OPEN) {
        client.send(message);
      }
    });
  });
});

마치며

이처럼 웹 소켓을 이용하면 클라이언트와 서버간에 실시간 양방향 통신을 쉽게 구축할 수 있습니다. 웹 소켓은 실시간 알림 및 업데이트가 필요한 다양한 웹 응용 프로그램에 유용하며, 모바일 애플리케이션과의 통신 등 다양한 분야에서 활용할 수 있습니다.

참고 자료: