Node.js 套接字io和节点在本地工作,但在heroku上不工作
代码在本地工作。当我把它推给heroku时,会有问题 我确信港口是对的。我不知道是什么问题。我怀疑这是客户端代码的问题。我试着把它改成https://而不是http://但是这使得它停止在本地和heroku上工作 FF上的错误:Node.js 套接字io和节点在本地工作,但在heroku上不工作,node.js,heroku,socket.io,Node.js,Heroku,Socket.io,代码在本地工作。当我把它推给heroku时,会有问题 我确信港口是对的。我不知道是什么问题。我怀疑这是客户端代码的问题。我试着把它改成https://而不是http://但是这使得它停止在本地和heroku上工作 FF上的错误: Firefox can't establish a connection to the server at ws://localhost/socket.io/?EIO=2&transport=websocket. Chrome上的错误: WebSocket c
Firefox can't establish a connection to the server at ws://localhost/socket.io/?EIO=2&transport=websocket.
Chrome上的错误:
WebSocket connection to 'ws://localhost/socket.io/?EIO=2&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 404
//on the client side
socket = io.connect("http://localhost", {port: PORT, transports: ["websocket"]});
//on the server side
var port = Number(process.env.PORT || 4000);
var express = require("express");
var logfmt = require("logfmt");
var app = express();
app.set('views', __dirname + '/views');
var server = require('http').createServer(app)
io = require("socket.io").listen(server);
io.set("transports", ["websocket"]);
io.set("polling duration", 10)
如果我遗漏了细节,请告诉我。我有点困惑。首先,如果你想让你的客户端连接到你的heroku应用程序,你应该使用你的heroku应用程序主机而不是本地主机
var host = location.origin;
io.connect(host, {port: PORT, transports: ["websocket"]});