Rumah >hujung hadapan web >tutorial js >Mengapa saya mendapat 'Ralat: dengar EADDRINUSE' semasa menjalankan pelayan Node.js saya dan membuat XMLHttpRequest?

Mengapa saya mendapat 'Ralat: dengar EADDRINUSE' semasa menjalankan pelayan Node.js saya dan membuat XMLHttpRequest?

Barbara Streisand
Barbara Streisandasal
2024-11-28 06:51:11625semak imbas

Why am I getting

Menyelesaikan masalah "Ralat: dengar EADDRINUSE" dalam Node.JS

Apabila cuba menjalankan pelayan pada port 80 secara serentak dan memulakan XMLHttpRequest, anda mungkin menghadapi ralat "Ralat: dengar EADDRINUSE." Isu ini timbul apabila sistem setempat anda cuba memperuntukkan port yang sama kepada berbilang aplikasi, yang membawa kepada konflik.

Dalam skrip pelayan yang disediakan:

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

dan permintaan:

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();

isunya terletak pada pelayan mendengar pada port 80 manakala XMLHttpRequest cuba mengakses port yang sama. Untuk menyelesaikan perlanggaran, anda boleh mempertimbangkan untuk menggunakan port lain untuk pelayan anda atau untuk XMLHttpRequest.

Langkah penyelesaian masalah tambahan:

  • Pastikan tiada aplikasi lain sedang mendengar pada port 80.
  • Mulakan semula Node.JS dan web anda pelayar.
  • Semak tetapan tembok api anda untuk memastikan ia tidak menyekat port.
  • Jika perlu, tamatkan sebarang proses Node.JS secara paksa menggunakan killall -9 nod. Walau bagaimanapun, ambil perhatian bahawa ini harus digunakan dengan berhati-hati kerana ia juga boleh membunuh proses sistem lain.

Atas ialah kandungan terperinci Mengapa saya mendapat 'Ralat: dengar EADDRINUSE' semasa menjalankan pelayan Node.js saya dan membuat XMLHttpRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn