WebSocket과 HTTP 서버를 결합하여 동시에 실행

tpids·2024년 12월 30일

project2

목록 보기
16/17
  • WebSocket과 HTTP 서버를 결합

1. 기본 설정

const app = require('./app');
const WebSocket = require('ws');
const bodyParser = require('body-parser');
app.use(bodyParser.json());

2. 서버 시작

const PORT = 5000;

const server = app.listen(PORT, () => {
  console.log(`Server and websocket is running on port ${PORT}`);
});

HTTP 서버는 포트 5000번에서 실행
server 객체는 Express 서버를 나타냄

3. WebSocket 서버 설정

const wss = new WebSocket.Server({ server });

wss: WebSocket 서버 객체입니다.
{ server }: 기존 HTTP 서버를 WebSocket 서버로 확장.
즉, HTTP와 WebSocket 요청을 동일한 서버에서 처리.

4. WebSocket 클라이언트 관리

클라이언트 연결

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

wss.on('connection'): WebSocket 클라이언트가 연결될 때 실행.

클라이언트로부터 메시지 수신

ws.on('message', (message) => {
  console.log(`클라이언트로부터 메시지 수신: ${message}`);
});

ws.on('message'): 클라이언트가 보낸 메시지를 수신.

클라이언트 연결 종료

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

ws.on('close'): 클라이언트가 연결을 종료할 때 실행.

오류 처리


ws.on('error', (error) => {
  console.error('WebSocket 오류 발생:', error);
});

ws.on('error'): WebSocket 연결에서 오류가 발생할 경우 처리.

profile
개발자

0개의 댓글