warn - 引发错误:错误:听EADDRINUSE

时间:2013-11-21 11:31:27

标签: express socket.io

Expressjs代码: -

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.listen吗?我想运行一个Web服务器并允许它使用socket.io与服务器通信。

1 个答案:

答案 0 :(得分: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);