socket.io在heroku上请求404

时间:2014-11-08 20:05:34

标签: node.js heroku socket.io

我的应用在本地工作,但当我部署到heroku时,对myapp.herokuapp.com/socket.io的请求会得到404响应。

这是我的代码:

var express = require('express');
var http = require('http');
var app = express();
var port = 8080;

// Configuration of the server 
require('./ServerConfig').serverConfig(app, express);


var server = http.createServer(app).listen(port)
var io = require('socket.io').listen(server);

io.on('connection', function(socket){
  console.log('a user connected');
   socket.on('message', function(msg){
    console.log(msg);
    io.emit('message', msg);
  });
});

我刚刚开始使用nodejs,我真的不明白为什么它会崩溃。

有人可以解释这个错误的原因或者如何调试它吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

将第4行替换为:

var port = process.env.PORT || 8080;

在Heroku上,您应该绑定到PORT环境变量。看到: https://devcenter.heroku.com/articles/runtime-principles#web-servers