SORU
27 Mart 2012, Salı


nodejs Hata: EADDRİNUSE dinle

Eğer port 80 xmlHTTPrequest kullanmaya çalıştığım bir server kaçarsam ben bu hatayı alıyorum: Error: listen EADDRINUSE

Neden sorun için ise bağlantı noktasında bir server kaçarken, bir istek yapmak istiyorum, 80 nodejs mi? İnternette sörf yapabilirim, sunucu çalışırken. sorun değil webbrowsers için:

Sunucu:

  net.createServer(function (socket) {
    socket.name = socket.remoteAddress   ":"   socket.remotePort;
    console.log('connection request from: '   socket.remoteAddress);
    socket.destroy();
  }).listen(options.port);

Ve istek:

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {
    sys.puts("State: "   this.readyState);

    if (this.readyState == 4) {
        sys.puts("Complete.\nBody length: "   this.responseText.length);
        sys.puts("Body:\n"   this.responseText);
    }
};

xhr.open("GET", "http://mywebsite.com");
xhr.send();

CEVAP
27 Mart 2012, Salı


EADDRINUSE listen() sunucu bağlamak için çalışan bir port numarası zaten kullanılıyor demektir.

Yani senin durumunda, zaten bağlantı noktası 80 üzerinde çalışan bir sunucunuz olmalı.

Eğer başka bir Web sunucusu bu port üzerinde çalışan varsa o sunucunun arkasında node.js koyup üzerinden proxy.

Bu gibi listening olay için, sunucu gerçekten dinleme olup olmadığını görmek için kontrol etmelisiniz:

var http=require('http');

var server=http.createServer(function(req,res){
    res.end('test');
});

server.on('listening',function(){
    console.log('ok, server is running');
});

server.listen(80);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Autocar

    Autocar

    11 Mart 2006
  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009