2012-05-16 1 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

, ваш сервер будет выполнять ваши действия шаг за шагом, если вы будете запускать их один за другим. Даже если ваш сервер асинхронен. –