Node.js / Socket.io:process.env.port给出错误

时间:2016-05-11 11:45:03

标签: node.js socket.io

我有这个:

var io = require('socket.io');
var port = process.env.port || 1337;

以后:

socket = io.listen(port)

然后开始:

socket.sockets.on('connection', ...)

我收到错误:

TyoeError:server.on不是socket.io/lib/manager.js:104上的函数

server.on('error, function(err) {
       ^

但如果我设置:

var port = 1337;

工作正常。我如何修复,以便与process.env.port一起使用?

1 个答案:

答案 0 :(得分:2)

可能套接字库不希望端口是一个字符串(来自环境变量时它将是它)。

首先尝试将其转换为数字:

var port = Number(process.env.port) || 1337;