『http 모듈로 요청받은
파일 내용을 읽고 응답하기』
______________________________
이렇게 스트림을 서로 연결하는 방법은 웹 서버를 만들고 사용자의 요청을 처리할 때 유용하다. 다음은 http 모듈을 사용해 사용자로부터 요청을 받았을 때 파일의 내용을 읽어 응답으로 보내는 코드이다.
---------------------------------------------------------------
var fs = require('fs');
var http = require('http');
var server = http.createServer(function(req, res){
// 파일을 읽어 응답 스트림과 pipe()로 연결한다.
var instream = fs.createReadStream('./output.txt');
instream.pipe(res);
});
server.listen(7001, '127.0.0.1');
---------------------------------------------------------------
웹 서버에서 클라이언트로부터 요청을 받으면 먼저 output.txt 파일에서 스트림을 만든 후 클라이언트로 데이터를 보낼 수 있는 스트림과 연결해 준다.
지금은 파일에서 만든 스트림 객체와 웹 서버의 스트림 객체를 pipe() 메소드로 연결할 수 있다는 것만 이해하면 된다.
두 객체의 연결이 가능한 이유는 파일에서 데이터를 읽어오기 위해 만든 것도 스트림 객체이고, 데이터를 씍 위해
웹 서버에서 클라이언트 쪽에 만든 것도 스트림 객체이기 때문이다.
따라서 읽기 스트림과 쓰기 스트림은 pipe() 메소드를 사용해 연결할 수 있다.
LIST
'Study > Node.js' 카테고리의 다른 글
[노드JS] 로그 파일 남기기 (0) | 2019.03.23 |
---|---|
[노드JS] fs 모듈로 새 디렉터리 만들고 삭제하기 (0) | 2019.03.23 |
[노드JS] 스트림 단위로 파일 읽고 쓰기 (0) | 2019.03.23 |
[노드JS] 버퍼 객체 사용하는 방법 알아보기 (0) | 2019.03.23 |
[노드JS] 파일을 직접 열고 닫으면서 읽거나 쓰기 (0) | 2019.03.23 |