본문 바로가기

Computer/javascript23

[node.js] HTTP Server 만들기 * node.js로 HTTP 를 이용한 서버를 쉽게 만들 수 있다.var http=require('http');var server=http.createServer();server.on('request',function(req,res){ res.writeHead(200,{'Content-Type':'text/plain'}); res.write('Hello World'); res.end();});server.listen(4000);- server.listen(port,hostname)으로 서버를 실행하며, server.close()로 서버를 종료한다. - server는 요청이 들어오면 'request'라는 이벤트를 발생시키며 HTTP BODY가 전송되면 'data'라는 이벤트를 발생시킨다.- 실행후 브라우저.. 2013. 2. 2.
[node.js] TCP Server 생성하기 * TCP Server는 net module로 생성할 수 있으며 다음의 이벤트를 발생 시킬 수 있다.var server=require('net').createServer();var port=4001;server.on('listening',function(){ console.log('Server is listening on port',port);});server.on('connection',function(socket){ console.log('Server has a new connection'); socket.end(); server.close();});server.on('close',function(){ console.log('Server is now closed');});server.on('error.. 2013. 2. 1.
[node.js] 스트림을 이용한 Read/Write * Readable Stream 이용var readable stream_byte= ...readable stream_byte.on('data',function(data){//data 는 byte buffer}); var readable stream_string=...readable stream_string.setEncoding('utf8');readable stream_string.on('data',function(data){//data 는 string buffer}); - stream.pause(); 및 stream.resume(); 으로 스트림에서 데이터를 받는 것을 중지하거나 재게 할 수 있다.- stream의 끝을 공지 var readable stream = ...readable stream.on.. 2013. 1. 31.
[node.js] 외부 프로세스를 생성하고 제어하기 1. child_process 모듈, exec 함수exec 함수에 다음과 같은 option 을 설정 가능하다. cwd : 현재의 작업 디렉토리 encoding : child output에 대한 encoding (기본적으로 utf8로 ascii, ucs2, base64등으로 변경 가능하다) timeout : 하위 프로세스의 실행 대기 시간(기본적으로 0, 무한 기다림) maxBuffer : output(stdout/stderr)의 버퍼(기본적으로 200*1024) killSignal : timeout 또는 output 버퍼가 다 찼을 경우에 하위 프로세스에 보낼 시그널(기본은 SIGTERM) env : 하위 프로세스에 전달할 환경 변수(기본적으로 null)예를 들어var exec=require('child.. 2013. 1. 30.
[node.js] express 설치 node.js 에서 이용 가능한 대표적인 웹 프레임워크는 express(http://expressjs.com)가 있다. express를 이용하기 위해서는 다음과 같이 express를 설치한다. $npm install express -g 설치를 완료하면 express 명령어를 이용 가능하다. 웹 프로젝트를 만들기 위해서는 express라는 명령을 이용해서 다음과 같이 입력한다. $express testweb 명령을 입력하면 다음과 같은 메시지가 뿌려지면서 해당 폴더/파일들이 생성된다. 또한 기본 뷰 템플릿 엔진인 jade를 다음과 같이 설치한다. 이때 본 프로젝트에만 의존적이므로 global 옵션은 주지 않는다. $npm install jade testweb으로 디렉토리를 변경하고 node app.js 를.. 2012. 10. 20.