【发布时间】:2015-10-03 15:57:03
【问题描述】:
我的网站出现以下错误。
http://[app-name].herokuapp.com/socket.io/1/?t=1436904053183 404 未找到
我的应用是一个使用 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/");
珍惜你的时间!
【问题讨论】:
-
您是否尝试过在不将 url 作为参数传递的情况下进行连接?
var socket = io.connect();那是working for me。 -
是的,我做到了,但我在 Chrome 控制台中得到了相同的结果。 http://[app-name].herokuapp.com/socket.io/1/?t=1436905535251
-
你的聊天是否部署在 Heroku 上?
-
是的,它是here。很抱歉没能帮到您。
标签: node.js heroku websocket socket.io