2011-12-29 23 views
5

enter image description herelỗi process.nextTick trong node.js?

Tôi đang xử lý.nextNhấp lỗi trên ví dụ rất cơ bản này của node.js.

Ai đó có thể vui lòng tìm ra? Nút không thể bắt đầu nghe trên cổng 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) 

Trả lời

4

Có vẻ như bạn đang cố gắng để nắm bắt một sự kiện trên thư viện (net), nhưng bạn nên nhìn vào the connectionListener argument to createServer. Hãy thử thay thế này:

var net = require("net"); 

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

server.listen(8000); 
+0

phải không? tôi đã sao chép chính xác cùng một lệnh từ bài phát biểu của Ryan .. –

+0

Node.js đang thay đổi nhanh đến mức bạn không thể dựa vào tài liệu hơn một vài tháng tuổi. Bạn không chắc chắn khi bản trình bày đó đến từ đâu, nhưng đây là cách bạn làm điều đó trong Node 0.6. – sczizzo

+0

Cảm ơn rất nhiều .. nó hoạt động. tôi đoán trình bày đã rất cũ. –

10

Đó là lỗi đánh máy trong trang trình bày của Ryan! : -0

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

+1 Yup, cũng vậy. – sczizzo

1

Đối với bất kỳ ai khác có thể vấp ngã ở đây tìm kiếm lý do tại sao nút pukes lỗi này khi họ cố gắng để phát hành brunch watch --server, kiểm tra và chắc chắn rằng bạn không có bất kỳ máy chủ khác đang chạy bằng cách sử dụng cùng một cổng (ví dụ: trong một trình bao khác).

Các vấn đề liên quan