NestJS를 활용한 자바스크립트 웹 소켓 서버 구축 방법

이번 글에서는 NestJS를 사용하여 자바스크립트 웹 소켓 서버를 구축하는 방법에 대해 알아보겠습니다.

목차

NestJS란?

NestJS는 Express를 기반으로 하는 서버 사이드 프레임워크입니다. npm으로 NestJS를 설치하여 사용할 수 있습니다.

웹 소켓 프로토콜

웹 소켓 프로토콜은 서버와 클라이언트 사이에 지속적인 양방향 통신을 제공합니다. 이를 통해 실시간 데이터 전송이 가능해집니다.

NestJS 웹 소켓 모듈 설치

NestJS에서 웹 소켓을 사용하기 위해서는 @nestjs/websockets 모듈을 설치해야 합니다.

npm install @nestjs/websockets

웹 소켓 서버 구축

웹 소켓 서버를 구축하기 위해 @WebSocketGateway() 데코레이터를 사용합니다. 먼저, 웹 소켓 서버에 대한 설정과 연결을 위한 포트 번호를 지정해야 합니다.

import { WebSocketGateway, WebSocketServer } from "@nestjs/websockets";
import { Server } from "socket.io";

@WebSocketGateway(3000)
export class WebSocketServerGateway {

  @WebSocketServer()
  server: Server;

  // 서버 로직 작성
}

웹 소켓 이벤트 처리

웹 소켓 서버에서 발생하는 이벤트를 처리하기 위해 각 이벤트에 맞는 데코레이터를 사용합니다.

@WebSocketGateway(3000)
export class WebSocketServerGateway {

  @WebSocketServer()
  server: Server;

  @SubscribeMessage('message')
  handleMessage(client: Socket, payload: any): string {
    this.server.emit('message', payload); // 모든 클라이언트에게 메시지 전달
    return '메시지 전송 완료';
  }
}

종합

이제 NestJS를 사용하여 자바스크립트 웹 소켓 서버를 구축하는 방법에 대해 알아보았습니다. 웹 소켓 프로토콜을 사용하여 실시간 양방향 통신을 구현할 수 있습니다. NestJS를 활용하면 간단하고 효율적인 서버 개발이 가능하니 많이 활용해보시기 바랍니다.

참고 자료

해시태그 #NestJS #웹소켓