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

如果您將一個接一個地運行它們,您的服務器將逐步運行您的操作。即使你的服務器異步。 –