2012-05-16 4 views
0

몇 가지 문제점이 있습니다. 미니 소켓 서버가 있습니다.NodeJs 단계별 실행 내 작업

var net = require('net'); 
var server = net.createServer(function (socket) { 
    socket.on('data', function(data){ 
     // here i do xml parsing and run some action 
     var xml2js = require('xml2js'), parser = new xml2js.Parser(); 
     parser.addListener('end', function(result) { 
      var command = require(result['@']['action']); 
      var c = new command(socket); 
      c.run(); 
     }).parseString(data); 
    }); 
});   
server.listen('8081', '127.0.0.1'); 

좋은,하지만 난 이런 식으로 서버 많은 명령을 보내는 경우 :

telnet 127.0.0.1 8081 
<query action="some_action1"></query> 
<query action="some_action2"></query> 
<query action="some_action3"></query> 

내 서버가이 작업을 비동기 실행됩니다. 이 작업을 실행하려면 어떻게해야합니까?

+0

https://github.com/caolan/async – Alfred

답변

0

명령에서 대기열 (FIFO)을 만들어야합니다. 그리고 서버 getem에서 명령을 실행하십시오.

+0

에서 확인하십시오. 그러나 이것은 동기화 구현에 도움이되지 않습니다. – Igor

+0

당신이 그들을 하나씩 실행하면 서버가 단계별로 동작을 실행할 것입니다. 서버가 비동기 인 경우에도 마찬가지입니다. –