Я испытываю что-то странное с node.js:
Когда я пытаюсь использовать клиент http с только следующим кодом:
require('http').get({host:'127.0.0.1',port:9000, path:'/'}, function(res){
var data = '';
res.setEncoding('utf8');
res.on('data', function(chunk){
data += chunk;
});
res.on('end', function(){
console.log(data);
});
});
Выдается ошибка:
node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^ TypeError: Cannot call method 'emit' of undefined
at Socket.<anonymous> (http.js:1174:9)
at Socket.emit (events.js:42:17)
at Array.<anonymous> (net.js:799:27)
at EventEmitter._tickCallback (node.js:108:26)
Когда я просматриваю 127.0.0.1:9000 в своем браузере, я получаю желаемую веб-страницу. Кроме того, в журналах веб-хоста я вижу, что было успешное соединение (что-то не происходит, если я использую, скажем, localhost
вместо 127.0.0.1
).
Я говорю это смешно, потому что если я изменю хост на google или что-то не работает, и он выталкивает html на консоль.
Я должен отметить, что я запускаю node 0.4.2 под cygwin, построенный из исходного кода.
Кто-нибудь видел/рассматривал это раньше?