var http = require('http');
var server = http.createServer();
var port = 3000;
server.listen(port,function(){
console.log('웹서버가 시작되었습니다. => %d',port);
});
http.createServer(); => 서버만듬
-createServer() 메소드로 만든 서버 객체에서 사용할 수 있는 대표적인 메소드-
listen(port,[hostname],[backlog],[callback]) => 서버를 실행하여 대기시킵니다.
close([callback]) => 서버를 종료합니다.
-클라이언트가 웹 서버에 요청할 때 발생하는 이벤트 처리하기-
connection -> 클라이언트가 접속하여 연결이 만들어질 때 발생하는 이벤트입니다.
request -> 클라이언트가 요청할 때 발생하는 이벤트
close -> 서버를 종료할 때 발생하는 이벤트입니다.
var http= require('http');
//웹 서버 객체를 만듭니다.
var server = http.createServer();
//웹 서버를 시작하여 3000번 포트에서 대기하도록 설정합니다.
var port = 3002;
server.listen(port,function(){
console.log('웹 서버가 시작되었습니다. : %d',port);
});
//클라이언트 연결 이벤트 처리
server.on('connection',function(socket){
var addr = socket.address();
console.log('클라이언트가 접속했습니다. : %s, %d',addr.address,addr.port);
});
//클라이언트 요청 이벤트 처리
server.on('request',function(req,res){
console.log('클라이언트 요청이 들어왔습니다.') ;
console.dir(req);
});
//서버 종료 이벤트 처리
server.on('close',function(){
console.log('서버가 종료됩니다.');
})
-request 관련 메소드-
writeHead(statusCode,[, statusMessage][,headers]) => 응답으로 보낼 헤더를 만듭니다.
write(chunk[, encoding][, callback]) => 응답 본문(body) 데이터를 만듭니다. 여러 번 호출될 수 있습니다.
end([data][, encoding][, callback]) => 클라이언트로 응답을 전송합니다. 파라미터에 데이터가 들어 있다면 이 데이터를 포함시켜 응답을 전송합니다. 클라이언트의 요청이 있을 때 한 번은 호출되어야 응답을 보내며, 콜백 함수가 지정되면 응답이 전송된 후 콜백 함수가 호출됩니다.
-서버에서 파일 처리-
-클라이언트에서 요청이 있을 때 파일 읽어 응답하기-
var http= require('http');
var fs = require('fs');
//웹 서버 객체를 만듭니다.
var server = http.createServer();
//웹 서버를 시작하여 3000번 포트에서 대기하도록 설정합니다.
var port = 3002;
server.listen(port,function(){
console.log('웹 서버가 시작되었습니다. : %d',port);
});
//클라이언트 연결 이벤트 처리
server.on('connection',function(socket){
var addr = socket.address();
console.log('클라이언트가 접속했습니다. : %s, %d',addr.address,addr.port);
});
//클라이언트 요청 이벤트 처리
server.on('request',function(req,res){
console.log('클라이언트 요청이 들어왔습니다.') ;
var filename = 'house.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('서버가 종료됩니다.');
});
-파일을 스트림으로 읽어 응답 보내기(pipe사용)-
var http= require('http');
var fs = require('fs');
//웹 서버 객체를 만듭니다.
var server = http.createServer();
//웹 서버를 시작하여 3000번 포트에서 대기하도록 설정합니다.
var port = 3002;
server.listen(port,function(){
console.log('웹 서버가 시작되었습니다. : %d',port);
});
//클라이언트 연결 이벤트 처리
server.on('connection',function(socket){
var addr = socket.address();
console.log('클라이언트가 접속했습니다. : %s, %d',addr.address,addr.port);
});
//클라이언트 요청 이벤트 처리
server.on('request',function(req,res){
console.log('클라이언트 요청이 들어왔습니다.') ;
var filename = 'house.png';
var infile = fs.createReadStream(filename,{flags:'r'});
//파이프로 연결하여 알아서 처리하도록 설정하기
infile.pipe(res);
});
//서버 종료 이벤트 처리
server.on('close',function(){
console.log('서버가 종료됩니다.');
});
'For developer > Node.js' 카테고리의 다른 글
(Node.js)쿠키와 세션 (0) | 2020.09.08 |
---|---|
(Node.js)익스프레스로 웹 서버 만들기(2) (0) | 2020.09.08 |
(Node.js)익스프레스로 웹 서버 만들기(1) (0) | 2020.09.07 |
(Node.js)파일처리 관련(1) (0) | 2020.09.06 |
(Node.js)클릭관련 (0) | 2020.09.06 |