## 프로젝트 개요
Node.js를 활용한 실시간 데이터 스트리밍 서버 구현 예제입니다. 클라이언트가 실시간으로 데이터를 요청하고, 서버는 지속적으로 데이터를 전송하는 시나리오에 사용됩니다.
## 주요 기능
- HTTP 서버 생성 및 요청 처리
- 실시간 데이터 스트리밍을 위한 스트림 객체 활용
- 에러 발생 시 로깅 및 예외 처리
- 클라이언트 연결 종료 시 자원 정리
## 사용 방법
1. 프로젝트 디렉토리에 이 파일을 저장하고 `npm init -y` 실행
2. `node server.js` 명령어로 서버 실행
3. `curl http://localhost:3000/data-stream` 또는 웹 브라우저에서 접근
## 확장 가능성
- 클라이언트 연결 관리 및 웹소켓 통신 추가
- 데이터베이스 연동 및 실시간 업데이트 기능 구현
🟢 서버사이드 데이터 스트리밍 시스템 구현
Node.js 예제
중급
난이도
예제
타입
11/06
등록일
서버사이드 데이터 스트리밍 시스템 구현
중급태그
코드 예제
// server.js
const http = require('http');
const fs = require('fs');
const { Readable } = require('stream');
const logger = require('./logger'); // 로거 모듈
// 데이터 스트리밍을 위한 가상 데이터 생성
const dataStream = new Readable({
read(size) {
const chunk = 'Data chunk
';
this.push(chunk);
this.push(null);
}
});
http.createServer((req, res) => {
if (req.method === 'GET' && req.url === '/data-stream') {
// HTTP 헤더 설정
res.writeHead(200, {
'Content-Type': 'text/plain',
'Transfer-Encoding': 'chunked'
});
// 데이터 스트리밍 전송
dataStream.pipe(res);
// 클라이언트 종료 시 자원 정리
req.on('close', () => {
logger.info('Client disconnected');
dataStream.destroy();
});
} else {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
}
}).listen(3000, () => {
logger.info('Server running on port 3000');
});
// logger.js (예시)
module.exports = {
info(message) {
console.log(`[INFO] ${message}`);
},
error(message) {
console.error(`[ERROR] ${message}`);
}
};
등록일: 2025년 11월 06일 02:34
언어 정보
언어
Node.js
카테고리
Web
인기도
#10
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요