Node.js socket.io在heroku上不工作
每当我尝试使用Node.js socket.io在heroku上不工作,node.js,heroku,Node.js,Heroku,每当我尝试使用require(“socket.io”)在heroku上失败,并显示消息“找不到模块socket.io” 我认为这是我的设置中的一个问题,因为在我的本地node.js服务器中同样可以正常运行 我必须更改什么?您必须更改PaaS提供商。Heroku不支持WebSocket。其中,众所周知的是支撑腹板箱 另外,您可能忘记了在package.json依赖项列表中添加socket.io。您必须更改PaaS提供程序。Heroku不支持WebSocket。其中,众所周知的是支撑腹板箱 另外,您
require(“socket.io”)代码>在heroku上失败,并显示消息“找不到模块socket.io”
我认为这是我的设置中的一个问题,因为在我的本地node.js服务器中同样可以正常运行
我必须更改什么?您必须更改PaaS提供商。Heroku不支持WebSocket。其中,众所周知的是支撑腹板箱
另外,您可能忘记了在package.json依赖项列表中添加socket.io
。您必须更改PaaS提供程序。Heroku不支持WebSocket。其中,众所周知的是支撑腹板箱
另外,您可能忘记了在package.json依赖项列表中添加socket.io
。根据需要,您需要将socket.io上的传输选项更改为xhr轮询,轮询持续时间为(10)秒 根据,您需要将socket.IO上的传输选项更改为xhr轮询,持续时间为(10)秒 package.json修改为
"dependencies": {
"async": "0.1.18",
"ejs": "0.4.3",
"express": "2.4.6",
"faceplate": "0.0.4",
"socket.io": "latest" },
服务器端代码是:
var port=process.env.PORT || 3000;
var http=require('http');
var app=http.createServer(function(req,res){
res.write("server listening to port:"+port);
res.end();
}).listen(port);
socket=require("socket.io");
io=socket.listen(app);
io.configure(function () {
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 10);
});
io.sockets.on("connection",function(socket){
console.log("new connection");
socket.on("eventA",function(data){
io.sockets.emit("eventB",data);
});
});
像个魔术师一样工作 package.json修改为
"dependencies": {
"async": "0.1.18",
"ejs": "0.4.3",
"express": "2.4.6",
"faceplate": "0.0.4",
"socket.io": "latest" },
服务器端代码是:
var port=process.env.PORT || 3000;
var http=require('http');
var app=http.createServer(function(req,res){
res.write("server listening to port:"+port);
res.end();
}).listen(port);
socket=require("socket.io");
io=socket.listen(app);
io.configure(function () {
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 10);
});
io.sockets.on("connection",function(socket){
console.log("new connection");
socket.on("eventA",function(data){
io.sockets.emit("eventB",data);
});
});
像个魔术师一样工作 雪松上的Heroku不支持WebSocket
无论如何,您可以将socket.io与
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 10);
cedar上的Heroku不支持WebSocket
无论如何,您可以将socket.io与
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 10);
websocket传输正在Heroku上进行测试。您可以使用heroku labs:enable websockets启用它-您的应用程序名称正在heroku上进行测试状态下的websocket传输。您可以使用heroku labs:enable websockets-a YOUR_APP_NAME启用它
这些是socket.io相关问题的解决方案
我希望我能工作
请记住,您的“server.js或index.js”端口应该与“client.js”端口不同(请记住这一点很重要)
(index.html和client.js)端口必须相同
请记住,您的“server.js或index.js”端口应该与“client.js”端口不同(请记住这一点很重要)
(index.html和client.js)端口必须相同
有人知道Heroku是否/何时计划支持websockets/real-time吗?它已经开箱即用,下面的答案已经过时了:有人知道Heroku是否/何时计划支持websockets/real-time吗?它已经开箱即用,下面的答案已经过时了:现在Heroku支持Node.js应用程序的websockets。现在heroku支持Node.js应用程序的WebSocket。