5장 5예제입니다.
그대로 쳐서해도 이렇게 출력되는데 문제가 뭔가요??
http_outgoing.js:457
throw new TypeError('First argument must be a string or Buffer');
^
TypeError: First argument must be a string or Buffer
at ServerResponse.OutgoingMessage.write (_http_outgoing.js:457:11)
at ReadFileContext.callback (nodeexample1\ch05_test5.js:33:7)
at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:366:13)
Program exited with code 1
/**
* 5장 Test 5
*
* http 모듈로 웹 서버 만들기
*
* 이미지 파일 읽어 응답으로 전송하기
*/
var http = require('http');
var fs = require('fs');
// 웹서버 객체를 만듭니다.
var server = http.createServer();
// 웹서버를 시작하여 3000번 포트에서 대기하도록 합니다.
var port = 3001;
server.listen(port, function() {
console.log('웹서버가 시작되었습니다. : %d', port);
});
// 클라이언트 연결 이벤트 처리
server.on('connection', function(socket) {
console.log('클라이언트가 접속했습니다. : %s, %d', socket.remoteAddress, socket.remotePort);
});
// 클라이언트 요청 이벤트 처리
server.on('request', function(req, res) {
console.log('클라이언트 요청이 들어왔습니다.');
var filename = '73.png';
fs.readFile(filename, function(err, data) {
res.writeHead(200, {"Content-Type": "image/png"});
res.write(data);
res.end();
});
});
// 서버 종료 이벤트 처리
server.on('close', function() {
console.log('서버가 종료됩니다.');
});