Aparentemente, estoy probando un servidor TCP simple que usa Node.js.Obteniendo el error 'ECONNREFUSED' cuando la conexión del socket se establece en un host diferente
El código del servidor y el código del cliente funcionan bien si son ambos en la misma máquina.
Sin embargo, parece que cuando ejecuto el servidor en la máquina diferente y pruebo para conectarme al servidor desde el cliente en una máquina diferente, obtengo el error siguiente.
Error: connect ECONNREFUSED
at errnoException (net.js:589:11)
at Object.afterConnect [as oncomplete] (net.js:580:18)
He intentado escribiendo la dirección IP del servidor, o el nombre de dominio del servidor, pero no tuve suerte.
El código del servidor es como el de abajo, (servidor se corrió con privilegios de root ..)
var net = require('net');
var HOST = '127.0.0.1';
var PORT = 6969;
net.createServer(function(sock) {
console.log('CONNECTED: ' + sock.remoteAddress +':'+ sock.remotePort);
sock.on('data', function(data) {
console.log('DATA ' + sock.remoteAddress + ': ' + data);
sock.write('You said "' + data + '"');
});
sock.on('close', function(data) {
console.log('CLOSED: ' + sock.remoteAddress +' '+ sock.remotePort);
});
}).listen(PORT, HOST);
console.log('Server listening on ' + HOST +':'+ PORT);
y el código de cliente es como abajo
var net = require('net');
var HOST = '127.0.0.1'; //I set it to server IP address but no luck..
var PORT = 6969;
var client = new net.Socket();
client.connect(PORT, HOST, function() {
console.log('CONNECTED TO: ' + HOST + ':' + PORT);
client.write('I am Chuck Norris!');
});
client.on('data', function(data) {
console.log('DATA: ' + data);
client.destroy();
});
client.on('close', function() {
console.log('Connection closed');
});
¿Hay alguna configuración que tengo que seguir, si quiero que el servidor acepte conexiones de socket desde una máquina diferente? ¿Tengo que ejecutar el código del servidor como modo de producción (si hay tal modo)? O bien, ¿hay alguna limitación en el alcance del puerto?
¡Muchas gracias! – user482594