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

  • ehowhome

    ehowhome

    22 NİSAN 2009
  • FullMag

    FullMag

    15 ŞUBAT 2007
  • kylediablo

    kylediablo

    8 Ocak 2007