웹 소켓은 실시간 양방향 통신을 제공하는 기술로, 클라이언트와 서버 간에 지속적인 연결을 유지합니다. Node.js 는 이러한 웹 소켓을 구현하기 위한 여러 가지 모듈을 제공합니다. 이 포스트에서는 Node.js 의 ws
모듈을 사용하여 간단한 웹 소켓 서버를 만드는 방법을 알아보겠습니다.
ws
모듈 설치
ws
모듈을 사용하기 위해서는 먼저 npm을 사용하여 설치해야 합니다. 아래 명령을 사용하여 ws
모듈을 설치할 수 있습니다.
npm install ws
웹 소켓 서버 만들기
다음은 ws
모듈을 사용하여 간단한 웹 소켓 서버를 만드는 예제입니다.
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);
});
ws.send('Hello, Client!');
});
위 예제에서는 ws
모듈을 불러오고, WebSocket.Server
를 생성하여 8080 포트에서 웹 소켓 서버를 시작합니다. 클라이언트가 연결되면 connection
이벤트가 발생하고, 이벤트 핸들러에서 클라이언트로부터 메시지를 받고 응답하는 방식으로 동작합니다.
웹 소켓 클라이언트 만들기
웹 소켓 클라이언트를 만들기 위해서는 웹 브라우저의 WebSocket API를 사용하거나, Node.js에서 ws
모듈을 사용할 수 있습니다. 아래는 Node.js에서 ws
모듈을 사용하여 간단한 웹 소켓 클라이언트를 만드는 예제입니다.
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {
console.log('connected');
ws.send('Hello, Server!');
});
ws.on('message', function incoming(data) {
console.log('received: %s', data);
});
위 예제에서는 ws
모듈을 사용하여 서버에 연결하고, 연결이 성공하면 open
이벤트가 발생합니다. 이후 서버로 메시지를 전송하거나 서버로부터 메시지를 받을 때 각각 send
및 message
이벤트가 발생합니다.
이제 ws
모듈을 사용하여 간단한 웹 소켓 서버와 클라이언트를 만드는 방법에 대해 알아보았습니다. 웹 소켓을 통해 빠르고 실시간으로 양방향 통신을 구현할 수 있으며, Node.js의 ws
모듈을 사용하면 간단하게 웹 소켓 기능을 구현할 수 있습니다.
참고 문헌: