Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2015, 16:09
sergimbo
 
Fecha de Ingreso: noviembre-2009
Mensajes: 98
Antigüedad: 15 años, 1 mes
Puntos: 2
Asincronía en proxy

Hola. Estoy implementando una especie de proxy entre dos servidores llamados A y B respectivamente. El proxy lo llamare P.
Por un lado el servidor A importa funciones del proxy P (mediante require) y lo utiliza para intercambiar información con B. Aquí el codigo en cuestion:

Servidor A
Código:
....
...
var p = require('./p.js');

...
...
console.log(p.getMessages());
Por otro lado, aqui el codigo del proxy P que contacta con el servidor B para conseguir una lista de mensajes:

Código:
var net = require('net');

var HOST = '127.0.0.1';
var PORT = 10100;

var client = new net.Socket();

exports.getMessages = function () {
	client.write('getMessages);

        client.on('data', function(data) {
	console.log("Received: " + data);
	        return data;
        });
}
......
El problema, como podreis haber podido deducir, es que cuando A realiza el console.log, P todavía no ha obtenido el valor "data" de B por lo que se muestra vacio.
He estado buscando información y no se si deberia usar promesas para solucionar esto.
Podríais ponerme un ejemplo de solución a este problema?

Saludos y gracias de antemano.