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

  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • SHAYTARDS

    SHAYTARDS

    1 EKİM 2008
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011