2013-11-21 91 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

谢谢你的答案我会尝试一次,我得到的代码。我还没有找到。 –