解決Node.js 中的錯誤:監聽EADDRINUSE
當Node.js 遇到嘗試時,會出現「錯誤:監聽EADDRINUSE ”問題偵聽已佔用的連接埠。 Node.js 是用於執行 JavaScript 應用程式的執行環境。
在提供的場景中,伺服器正在偵聽連接埠 80,同時嘗試使用 XMLHttpRequest 進行請求。瀏覽器可以處理並發連接,但 Node.js 伺服器由於連接埠不可用而面臨問題。
伺服器程式碼,如前所述:
net.createServer(function (socket) { socket.name = socket.remoteAddress + ":" + socket.remotePort; console.log('connection request from: ' + socket.remoteAddress); socket.destroy(); }).listen(options.port);
伺服器本質上是在偵聽傳入的連接連接,但立即破壞它們。這會阻止處理任何實際請求。
提供的請求代碼:
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();
該請求正在嘗試向遠端網站發出 HTTP GET 請求,而 Node.js伺服器正在連接埠 80 上執行。
要解決“錯誤:監聽EADDRINUSE”,伺服器應該任一:
以上是為什麼 Node.js 使用 XMLHttpRequest 時會拋出「Error: Listen EADDRINUSE」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!