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.