2013-11-21 57 views
1

Expressjs代碼: -警告 - 錯誤提出:錯誤:聽EADDRINUSE

app.set('port', process.env.PORT || 3000); 
app.listen(app.get('port')); 
var io = require('socket.io').listen(app.listen(app.get('port'))); 

給出錯誤: -

info - socket.io started 
warn - error raised: Error: listen EADDRINUSE 

是錯誤,因爲我設置了app.listen和IO。聽同一個端口?我想運行一個web服務器,並允許它使用socket.io與服務器進行通信。

回答

2

是的,問題是你試圖讓兩個獨立的服務器在同一個端口上偵聽。

您可以使用此相同的端口上結合Express和socket.io

app.set('port', process.env.PORT || 3000); 
var server = app.listen(app.get('port')); 
var io  = require('socket.io').listen(server); 
+0

你好@robertklep可以請你告訴我在哪裏可以,因爲我是新手到這個平臺,不知道任何有關我添加此代碼它。提前致謝。 –

+0

@nick在你的代碼中的某一時刻,你啓動了Express服務器,這與你插入我發佈的代碼的地方大致相同(儘管通常'app.set()'這行代碼在代碼中會更高,* if *你使用它)。 – robertklep

+0

謝謝你的答案我會嘗試一次,我得到的代碼。我還沒有找到。 –