我的网站上出现以下错误。
http://[app-name].herokuapp.com/socket.io/1/?t=1436904053183 404 Not Found
我的应用是用Socket.io构建它的聊天。我做了一个研究,并弄清楚它正在45361(这个端口是由Heroku设置)和我的client.js正在监听的端口,它正在以不同的方式收听。如何告诉我的client.js从我的server.js文件中听同一个端口?
我的server.js文件如下所示:
app.configure(function() {
app.set('port', process.env.PORT || 3000);
app.set('ipaddr', process.env.IP || "127.0.0.1");
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.use('/js', express.static(__dirname + '/js'));
app.use('/icons', express.static(__dirname + '/icons'));
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
/* Store process-id (as priviledged user) */
try {
npid.create('/var/run/advanced-chat.pid', true);
} catch (err) {
console.log(err);
//process.exit(1);
}
});
app.get('/', function(req, res) {
res.render('index.html');
});
app.listen(app.get('port'), function() {
console.log("Node app is running on port:" + app.get('port'))
})
在我的文件client.js中我有这样的东西:
var socket = io.connect("//[app-name].herokuapp.com");
我也试过了:
var socket = io.connect("http://[app-name].herokuapp.com/");
感谢您的时间!
答案 0 :(得分:0)
您可以尝试在客户端
中正确形成网址 window.location.origin = window.location.origin || (window.location.protocol + '//' + window.location.hostname + ':' + window.location.port);
var socket = io.connect(window.location.origin);