Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript heroku上带有socket.io的Nodejs_Javascript_Node.js_Heroku_Socket.io - Fatal编程技术网

Javascript heroku上带有socket.io的Nodejs

Javascript heroku上带有socket.io的Nodejs,javascript,node.js,heroku,socket.io,Javascript,Node.js,Heroku,Socket.io,我试图在heroku上运行带有express和socket.io的nodejs应用程序,结果出现了这个错误 每次访问,权限被拒绝 当我尝试运行以下代码时: app.configure(function () { app.set('port', process.env.PORT || 3000); }); var server = http.createServer(app).listen(app.get('port')) io = require('socket.io').listen(s

我试图在heroku上运行带有express和socket.io的nodejs应用程序,结果出现了这个错误

每次访问,权限被拒绝

当我尝试运行以下代码时:

app.configure(function () {
   app.set('port', process.env.PORT || 3000);
});
var server = http.createServer(app).listen(app.get('port'))
io = require('socket.io').listen(server); // it crashes on this line
io.configure(function () {
    io.set("transports", ["xhr-polling"]);
    io.set("polling duration", 10);
    io.set("log level", 1);
});
甚至可以在heroku上这样做吗

依赖项:

"socket.io": "*",
"express": "3.0.0rc4",
检查此链接:

[更新1]

检查此项,我认为它可以帮助您解决问题

[更新2]

一个具有工作代码(不管客户机的bug、问题本身的动机)的数据库


当您:

io = require('socket.io');
app.configure(function () {
   app.set('port', process.env.PORT || 3000);
});
var server = http.createServer(app).listen(app.get('port'))
io.listen(server); // it crashes on this line
io.configure(function () {
    io.set("transports", ["xhr-polling"]);
    io.set("polling duration", 10);
    io.set("log level", 1);
});

我意识到这不应该有什么不同,但我只是好奇。

可能您只是在同一个端口上启动了两台服务器-您的
应用程序
(快速服务器)和这台
服务器=http.createServer(应用程序)。侦听(app.get('port'))

试着写这个

server = http.createServer(app).listen(/*port not from app*/)

我想我只能使用process.env.PORT(那是heroku分配给我的端口),否则我会得到不同的错误,我只能使用一些随机端口。我不认为这个链接可以帮助我,因为所有这些都是在.listen()之后,最后一段代码使用express 2.x,而我使用的是3.x(不记得为什么,2.x出现了一些问题)但是是的,也许在某个地方有问题,但我仍然不知道是什么或者如何解决:)
server = http.createServer(app).listen(/*port not from app*/)