亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復錯誤:在使用NodeJS時偵聽EADDRINUSE?

如何修復錯誤:在使用NodeJS時偵聽EADDRINUSE?

慕容3067478 2019-06-29 15:02:36
如何修復錯誤:在使用NodeJS時偵聽EADDRINUSE?如果我運行一個端口為80的服務器,并且嘗試使用XMLHttpRequest我知道這個錯誤:Error: listen EADDRINUSE當我在端口80上運行服務器時,如果我想執行一個請求,為什么NodeJS會出現問題呢?對于瀏覽器來說,這不是一個問題:我可以在互聯網上沖浪,而服務器正在運行。服務器是:  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();
查看完整描述

3 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

EADDRINUSE意味著端口號listen()嘗試將服務器綁定到已在使用的服務器。

因此,在您的示例中,必須已經在端口80上運行了服務器。

如果在此端口上運行了另一個Web服務器,則必須將node.js放在該服務器的后面,并通過該服務器對其進行代理。

你應該檢查一下listening事件,以查看服務器是否真的在監聽:

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


查看完整回答
反對 回復 2019-06-29
?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

真正幫助我的是:

killall -9 node

但這會扼殺一個系統進程。

帶著

ps ax

你可以檢查它是否有效。


查看完整回答
反對 回復 2019-06-29
  • 3 回答
  • 0 關注
  • 716 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號