[nodejs] Fastify와 웹소켓 사용법

이번 포스팅에서는 Fastify와 웹소켓을 사용하여 실시간으로 데이터를 전송하는 방법에 대해 알아보겠습니다.

Fastify 소개

Fastify는 Node.js를 위한 웹 프레임워크로서, 빠르고 경량화된 설계를 특징으로 합니다. Fastify는 성능이 뛰어나며, 높은 수준의 유연성과 확장성을 제공합니다.

웹소켓 소개

웹소켓은 실시간으로 양방향 통신이 가능한 프로토콜로서, 웹 애플리케이션에서 실시간 데이터를 전송하기 위해 사용됩니다.

Fastify와 웹소켓 통합

Fastify 웹 프레임워크와 웹소켓을 결합하여 실시간 데이터 전송을 구현하는 것은 매우 간단합니다.

// fastify 및 websocket 모듈 로드
const fastify = require('fastify')();
const websocket = require('fastify-websocket');

// fastify 인스턴스에 websocket 등록
fastify.register(websocket);

// 웹소켓 라우트 등록
fastify.get('/ws', { websocket: true }, (connection, req) => {
  connection.socket.on('message', (msg) => {
    connection.socket.send('Received: ' + msg);
  });
});

// 서버 시작
fastify.listen(3000, (err, addr) => {
  if (err) {
    console.error(err);
    process.exit(1);
  }
  console.log(`서버가 ${addr} 에서 실행중`);
});

위 코드에서 웹소켓을 /ws 경로에 등록하고 클라이언트 요청을 처리하며, 받은 메시지를 다시 클라이언트로 전송합니다.

결론

빠르고 경량화된 Fastify 프레임워크를 사용하여 웹소켓을 통합하면 실시간 데이터 전송을 쉽게 구현할 수 있습니다. Fastify의 성능과 웹소켓의 실시간 양방향 통신 기능을 활용하여 다양한 실시간 애플리케이션을 개발할 수 있습니다.

이상으로 Fastify와 웹소켓을 사용한 실시간 데이터 전송에 대한 소개를 마치겠습니다.

참고: Fastify 공식 문서