Penerangan Masalah:
Apabila cuba menjalankan pelayan pada port 80 dan pada masa yang sama membuat permintaan XMLHttpRequest, "Ralat: dengar EADDRINUSE" ditemui. Ini walaupun penyemak imbas dapat meneruskan menyemak imbas internet semasa pelayan sedang berjalan.
Pelaksanaan Pelayan:
net.createServer(function (socket) { socket.name = socket.remoteAddress + ":" + socket.remotePort; console.log('connection request from: ' + socket.remoteAddress); socket.destroy(); }).listen(options.port);
Permintaan Pelaksanaan:
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();
Penyelesaian:
Untuk menyelesaikan isu ini, pertimbangkan untuk menamatkan proses nodejs menggunakan:
killall -9 node
Perhatikan bahawa arahan ini akan menamatkan sistem secara tiba-tiba proses. Untuk mengesahkan penamatan, laksanakan:
ps ax
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Ralat: dengar EADDRINUSE' Apabila Menjalankan Pelayan NodeJS dan Membuat XMLHttpRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!