小编典典

NodeJS,Heroku上的React,Socket.io给出错误

reactjs

请帮助! 我在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”


阅读 242

收藏
2020-07-22

共1个答案

小编典典

this.io = socket.connect(yourpath, {
  transports: ['websocket'],
  upgrade: false,
});

首先,您需要完全连接到套接字服务器。您可以尝试上面的代码吗,我正在为我的项目使用它

2020-07-22