on
[Nodejs] 서버 실행하기 - 컴도리돌이
[Nodejs] 서버 실행하기 - 컴도리돌이
728x90
728x90
노드에 기본으로 들어 있는 http 모듈을 사용하면 웹 서버 기능을 담당하는 서버 객체를 만들 수 있다. http 모듈을 로딩했을 때 반환되는 객체에는 createServer() 메소드가 정의되어 있으며, 이 메소드를 호출하면 서버 객체를 만들 수 있다.
간단한 서버 구현하기
서버 객체의 listen() 메소드를 호출하면 웹 서버가 시작되는데, 서버를 시작할 때는 포트를 3000번으로 지정하여 해당 포트에서 클라이언트의 요청을 대기한다. listen() 메소드를 호출할 때 전달하는 두 번째 파라미터는 콜백 함수로, 웹서버가 시작되면 호출된다.
메소드 설명 listen(port,[hostname],[backlog],[callback]) 서버를 실행하여 대기시킨다. close([callback]) 서버를 종료시킨다.
var http = require('http'); var server = http.createServer(); var port = 3000; server.listen(port, function(){ console.log('웹 서버가 시작되었습니다. : %d ' ,port); });
클라이언트가 웹 서버에 요청할 때 발생하는 이벤트 처리 방법
웹 브라우저와 같은 클라이언트가 웹 서버에 연결되면 connection 이벤트가 발생한다. 그러므로 on() 메소드를 호출할 때 첫 번째 파라미터로 connection 이벤트 이름을 전달하고, 두 번째 파라미터로 콜백 함수를 전달한다. 연결이 만들어져 콜백 함수가 호출될 때는 socket 객체가 파라미터로 전달된다. 이 객체는 클라이언트 연결 정보를 담고 있으므로 address() 메소드를 호출하여 클라이언트의 IP와 포트 정보를 확인 가능하다.
이벤트 설명 connection 클라이언트가 접소하여 연결이 만들어질 때 발생하는 이벤트 request 클라이언트가 요청할 때 발생하는 이벤트 close 서버를 종료할 때 발생하는 이벤트
var http = require('http'); //웹 서버 객체를 만듬. var server = http.createServer(); var port = 3000; //웹서버를 시작하여 3000번 포트에서 대기하도록 설정. 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.log(req); }); // 서버 종료 이벤트 처리. server.on('close',function(){ console.log('서버가 종료됩니다.'); });
[참고 문헌] do it! node.js 프로그래밍
728x90
728x90
from http://comdolidol-i.tistory.com/179 by ccl(A) rewrite - 2021-07-29 09:26:26