2015-09-12 17 views
6

node.js kullanıyorum ve küme modülünü kullanıyorum. Her seferinde) (cluster.fork çalıştırın Daima bu googling oldum birHer zaman cluster.fork() çalıştırıyorum, bir hata alıyorum: EADDRINUSE

throw er; // Unhandled 'error' event 
Error: bind EADDRINUSE 
    at exports._errnoException (util.js:746:11) 
at cb (net.js:1205:33) 
at rr (cluster.js:592:14) 
at Worker.<anonymous> (cluster.js:563:9) 
at process.<anonymous> (cluster.js:692:8) 
at process.emit (events.js:129:20) 
at handleMessage (child_process.js:324:10) 
at Pipe.channel.onread (child_process.js:352:11) 

olsun ve ben herhangi noktası numaraları geçen değilim çünkü bu oluyor nasıl hiçbir fikrim yok.

sayesinde

DÜZENLEME

: Gönderme kodu

var setupWorkers = function() { 
    if (cluster.isMaster) { 
    // Fork workers. 
     for (var i = 0; i < 5; i++) { 
     cluster.fork(); 
    } 

} 

ve bu düğüm çağırarak çalıştırmak app.js olarak adlandırılan bir fonksiyonudur

+0

Lütfen kodunuzu gönderin. – baao

+0

Hangi düğüm sürümünü kullanıyorsunuz? Ben düğüm v0.12.7 – laggingreflex

+0

I ('küme') gerektiren = sadece bu 'var kümeyi içeren test.js adlı bir dosya yapılmış; (var i = 0; i <5; i ++) { cluster.fork(); } 've hala aynı hatayı alıyorum. – Gakho

cevap

0

Bağlantı noktası zaten bağlanmış olduğundan tüm iş parçacıkları ile bir kereden fazla bir sunucu başlatıyordum

0

yığın izleme app.js Eğer sağlamak EADDRINUSE'un net modülünden geldiğini gösterir. EADDRINUSE genellikle IP/bağlantı noktası kombinasyonunu bir kereden fazla dinlemeye çalıştığınız anlamına gelir. Örneğin, eğer bu kümelenmiş bir web sunucusuysa, belki de tüm çalışanlarınız aynı IP adresinde 80 numaralı bağlantı noktasına bağlanmaya çalışıyorlar. Daha fazla kod olmadan, neler olduğunu söylemek imkansız.

Sonraki yorumda verdiğiniz örnek kod, benim için EADDRINUSE'u tetiklemiyor. cluster.isMaster için bir onay cluster.fork() çağırmadan önce var, çünkü yerine cluster.fork is not a function hataları He got.

İlgili konular