请帮助! 我在Heroku上使用Node /
Express和React创建一个网站。Server.js在客户端提供一个expresshandlebar模板,以呈现App.js
到目前为止,一切正常,直到我尝试实现Socket.IO。Socket.IO可以在localhost上完美运行,但是在Heroku上却报错:
VM63:35与’ws:// mysite:8080 / socket.io-client /?EIO = 3&transport =
websocket’的WebSocket连接失败:WebSocket握手期间出错:net :: ERR_CONNECTION_RESET
这是代码的相关部分:
Server.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');});
App.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”
this.io = socket.connect(yourpath, {
transports: ['websocket'],
upgrade: false,
});
首先,您需要完全连接到套接字服务器。您可以尝试上面的代码吗,我正在为我的项目使用它