본문 바로가기
Html(js) & WebGL & Node.js

Node.js WebSocket 샘플

by ERLite 2026. 3. 16.

서버 (Node.js, ws 라이브러리 사용)

// 설치: npm install ws
const WebSocket = require('ws');

// 8080 포트에 WebSocket 서버 생성
const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', (ws) => {
  console.log('클라이언트 연결됨');

  // 클라이언트로 메시지 보내기
  ws.send('서버에 연결되었습니다!');

  // 클라이언트로부터 메시지 받기
  ws.on('message', (message) => {
    console.log(`클라이언트 메시지: ${message}`);
    ws.send(`서버가 받은 메시지: ${message}`);
  });

  // 연결 종료 이벤트
  ws.on('close', () => {
    console.log('클라이언트 연결 종료');
  });
});

클라이언트 (브라우저)

<!DOCTYPE html>
<html>
<body>
<script>
  // 서버에 연결
  const socket = new WebSocket('ws://localhost:8080');

  // 연결 성공 시
  socket.onopen = () => {
    console.log('서버에 연결됨');
    socket.send('안녕하세요 서버!');
  };

  // 서버로부터 메시지 수신
  socket.onmessage = (event) => {
    console.log('서버 메시지:', event.data);
  };

  // 연결 종료 시
  socket.onclose = () => {
    console.log('서버와 연결 종료');
  };
</script>
</body>
</html>

이렇게 하면 Node.js 서버브라우저 클라이언트가 WebSocket으로 실시간 메시지를 주고받을 수 있습니다.