[node.js] 웹소켓 서버 만들기

2024. 12. 9. 02:07개발로그/플러터 전화 기능 구현

플러터를 이용한 전화 기능 구현을 하고 있다.

단순 TURN 서버 생성으로 끝날 줄 알았던 백엔드 작업이 하나 더 남아 있었다.

 

ㅎㅏ...

 

전화 기능 하나 만들기 굉장히 쉽지 않다.

 

web_socket.js

const WebSocket = require('ws');

// 명시적으로 IPv4 주소(0.0.0.0)를 사용
const wss = new WebSocket.Server({ host: '0.0.0.0', port: 8080 });

wss.on('connection', (ws) => {
  console.log('클라이언트가 연결되었습니다.');

  ws.on('message', (message) => {
    console.log('Received:', message);
    ws.send(`Echo: ${message}`);
  });

  ws.on('close', () => {
    console.log('클라이언트 연결이 종료되었습니다.');
  });
});

console.log('WebSocket 서버가 0.0.0.0:8080에서 실행 중입니다.');

$ sudo apt install nodejs

 

$ sudo apt install npm

 

$ npm install websocket

$ npm install ws

 

그리고 서버를 실행해보자.

 

$ node web_socket.js

 

백그라운드에서 실행하고 싶을 때는 마지막에 &을 붙여주면 된다.

jobs 명령어로 실행 중인 작업 내역을 확인할 수 있다.

 

서버가 제대로 굴러가고 있는지 확인해보자.

 

포스트맨에서 웹소켓 주소를 입력하면 connected라고 뜬다.

 

하지만 이미 슈파베이스로 시그널링 서버의 역할을 수행하고 있었다.

삽질했다...^_^...