请帮助!我正在使用 Node/Express 和 React on Heroku 制作网站。Server.js 在客户端提供 expresshandlebar 模板,呈现 App.js
到目前为止一切正常,直到我尝试实现 Socket.IO。Socket.IO 在本地主机上完美运行,但在 Heroku 上出现错误:
VM63:35 WebSocket 连接到“ws://mysite:8080/socket.io-client/?EIO=3&transport=websocket”失败:WebSocket 握手期间出错:net::ERR_CONNECTION_RESET
这是代码的相关部分:
服务器.js
var express = require('express'),
var port = process.env.PORT || 8080;
var httpServer = require('http').createServer(app);
httpServer.listen(port)
io.on('connection', function (socket) {
console.log('Connection started');});
应用程序.js
var io = require('socket.io-client');
var new_socket = io.connect();
我已经阅读了很多网站,并尝试了很多替代方法,例如:1) 在客户端和服务器 socket.io 上设置“路径”和“传输”
path: '/socket.io-client'
transports: ['websocket']
2) 尝试 Heroku 推荐的 WebSockets。这会引发另一个错误“错误 503”