嘗試在NodeJS 中在連接埠80 上使用XMLHttpRequest 建立伺服器時遇到令人困惑的「錯誤:監聽EADDRINUSE”,這是了解此問題背後的根本原因非常重要。
與 Web 瀏覽器不同,NodeJS 會遇到此問題,因為它在單一進程中運行,同時處理伺服器職責和網路請求。因此,當伺服器和 XMLHttpRequest 嘗試同時使用相同連接埠時,可能會出現連接埠綁定衝突。
問題中提供的伺服器設定示範了綁定到連接埠 80 並處理傳入連線請求。同時,XMLHttpRequest 發起網路請求以從遠端伺服器檢索內容。但是,由於 XMLHttpRequest 請求缺乏明確連接埠規範,因此假定它將使用連接埠 80。
要解決此衝突,建議的解決方案是使用「killall -9 node」命令終止所有正在執行的 NodeJS 實例。這種激進的方法可能不適合生產環境,因此更具選擇性的方法是使用「ps ax」命令來識別正在執行的 NodeJS 進程並終止與衝突連接埠綁定關聯的特定實例。
以上是在 NodeJS 中使用 XMLHttpRequest 時如何修復「錯誤:監聽 EADDRINUSE」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!