2011-12-29 4 views
5

enter image description herenode.jsのprocess.nextTickエラー?

node.jsのこの非常に基本的な例では、process.nextTickエラーが発生します。

誰かが理解できますか? ノードはポート8000​​でリスニングを開始できませんか。

# cat nodejs.js 
net = require("net"); 
s = net.createServer(); 

net.on('connection', function (c) { 
c.end('hello'); 
}); 

s.listen(8000); 

# node nodejs.js 

node.js:201 
    throw e; // process.nextTick error, or 'error' event on first tick 
     ^
TypeError: Object #<Object> has no method 'on' 
at Object.<anonymous> (/home/ec2-user/praveen/nodejs.js:4:5) 
at Module._compile (module.js:432:26) 
at Object..js (module.js:450:10) 
at Module.load (module.js:351:31) 
at Function._load (module.js:310:12) 
at Array.0 (module.js:470:10) 
at EventEmitter._tickCallback (node.js:192:40) 

答えて

4

あなたのライブラリー(net)にイベントをキャプチャしようとしているが、あなたはthe connectionListener argument to createServerされているはずですようです。これを試してみてください:

var net = require("net"); 

var server = net.createServer(function (c) { 
    c.end('Hello!'); // Implicitly fired on 'connection' 
}); 

server.listen(8000); 
+0

ですか?私はRyanのスピーチからまったく同じコマンドをコピーしました。 –

+0

Node.jsは非常に速く変化しているので、数か月以上も前のマテリアルに頼ることはできません。そのプレゼンテーションの出所はわかりませんが、これはノード0.6での作業です。 – sczizzo

+0

ありがとう..それは動作します。私はプレゼンテーションがとても古かったと思う。 –

10

これはライアンのスライドのタイプミスです。 :-0彼らは、brunch watch --serverを発行確認し、同じポートを使用して実行している任意の他のサーバーを持っていないことを確認しようとすると、ノードは、このエラーをpukes理由を探してここにつまずくかもしれない他の誰のために

s/net.on/s.on/ 
+0

+1うん、それも動作します。 – sczizzo

1

(すなわち別のシェルで)。

関連する問題