2015-06-26 4 views
3

Я постоянно получаю следующее сообщение об ошибке:Узел Net отказывается соединение независимо от того, что на learnyounode

✗ Error connecting to localhost:20496: connect ECONNREFUSED

примечание: Местный номер хоста постоянно меняется.

На cloud9.ide ошибка происходит перед тем тайм-аут, и на компьютере ошибка происходит после тайм-аут. (Это происходит в обеих областях, так что я думаю, что это локальная проблема узла)

код я использую именно следующим образом:

var net = require('net'); 
function zero(i) { 
    return (i < 10 ? '0' : '') + i; 
} 
function now() { 
    var d = new Date(); 
    return d.getFullYear() + '-' + zero(d.getMonth()) + '-' 
    + zero(d.getDate()) + ' ' + zero(d.getHours()) + ':' 
    + zero(d.getMinutes()); 
} 

var server = net.createServer(function (socket) { 
    socket.error(function(){ 
     console.log("Error"); 
    }); 
    socket.end("FOUND:"+now() + '\n'); 
}).listen(8000); 

Я не понимаю, почему net модуль не работает и модуль http сделал. Я чувствую, что это как-то связано с прослушиванием порта, но я изменил его на , и никаких различий в выходе не было.

Я считаю, что я использую последнюю версию узла и learnyounode, а моя ОС - это widnows7.

версии:

  • НПМ: 2.11.2
  • Node: 0.12.5
+0

Как вы запускаете свой сценарий? 'node script.js'? –

+0

@Michelem Я запустил свой скрипт в реплике узла, как вы только что сказали, но я в основном делал это, хотя nodechools «learynounode run program.js» – Andrew

ответ

2

Не могли бы вы попробовать это (взято из документации) и публикацию результатов:

var net = require('net'); 
var server = net.createServer(function(c) { //'connection' listener 
    console.log('client connected'); 
    c.on('end', function() { 
    console.log('client disconnected'); 
    }); 
    c.write('hello\r\n'); 
    c.pipe(c); 
}); 
server.listen(8124, function() { //'listening' listener 
    console.log('server bound'); 
}); 

И вы в конечном итоге испытаете это так:

telnet localhost 8124 

To listen on the socket /tmp/echo.sock the third line from the last would just be changed to

server.listen('/tmp/echo.sock', function() { //'listening' listener

Use nc to connect to a UNIX domain socket server:

nc -U /tmp/echo.sock

+0

Похоже, что это сработало ... Я сделал 'node program.js 'и моя консоль, после ввода' telnet localhost 8124' получили: «сервер привязан .. клиент подключен ...» мой telnet получил «привет» .. Я закрыл его, и моя консоль получила «клиент отключен» – Andrew

+0

@ Lemony-Andrew so мои догадки - проблема либо в том, что вы используете порт (который вы даже пробовали 3306), но учтите, что этот последний порт является стандартным портом MySQL! Поэтому убедитесь, что на этом порту ничего не работает.) или что-то отжимающее с помощью сокета, который вы используете. – Hamed

+1

Я проверил то же самое, используя порт 8000 (с telnet), и это сработало так же хорошо. И эта ошибка возникает только в ** учебном курсе ** learnyounode **! – Andrew

Смежные вопросы