2012-12-09 5 views
0

this 튜토리얼을 사용하여 작성한 기본 서버는 http입니다. 난 단지 서버를 만들고 여기에 하나 개의 기능을 보여주지 : 당신이 볼 수있는GET 및 POST, node.js 서버 듣기

function Server(resourceMap, rootFolder) { 

    this.resourceMap = resourceMap; 
    this.rootFolder = rootFolder; 

    function connectionHandler(socket) { 
     var data = ""; 
     console.log('server connected'); 
     console.log('CONNECTED: ' + socket.remoteAddress +':'+ socket.remotePort); 
     socket.setEncoding('utf8'); 
      socket.on('data',function(newData) { 
          console.log("NEW DATA\n" + newData); data += newData; 
          }); 
     socket.on('end',function(data) { 
          console.log("DATA\n" + data);         router.route(data,socket,handle,resourceMap,rootFolder); 
          }); 
    } 

    this.server = net.createServer(connectionHandler); 

    this.port = undefined; 

    this.startServer = function(port) { 
     this.port = port; 
     this.server.listen(port, function() { 
      console.log('server bound');}); 
    } 
} 

그래서, 두 개의 리스너가 - dataend. data이 나오면 변수에 보낸 내용을 추가하고 end이 나오면이 변수를 다른 함수로 보냅니다. 이 메시지는 GET 요청과 함께 작동하지 않습니다. 모든 데이터는 즉시 전송되며 end은 전송되지 않습니다.

두 가지 방법을 모두 처리 할 수 ​​있어야합니다. 또한 이것은 숙제이므로 http 모듈을 사용할 수 없습니다.

제안 사항? 감사!

p.s. 내가 처음으로 node.jsJavaScript에 오기 때문에 어떤 일반적인 코멘트도 환영받을 것입니다.

답변

0

GET 동사가 '데이터'이벤트가 전혀 실행되지 않는 이유입니다. 모든 코드 예제는 본문이있는 동사에만 유효합니다.

물론 배우고는 있지만 먼저 수행하려는 것을 이해하고 구현에 대해 생각해야합니다. 내 추천은 nodej에 대한 교육을 계속하는 것입니다.