帮助帮助我正在Heroku上创建一个Node / Express和React的网站。 Server.js在客户端提供expresshandhandlebar模板,呈现App.js
到目前为止,一切正常,直到我尝试实现Socket.IO。 Socket.IO在localhost上完美运行但在Heroku上出错:
VM63:35 WebSocket连接到'ws:// mysite:8080 / socket.io-client /?EIO = 3& transport = 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'和'transports'
上设置path: '/socket.io-client'
transports: ['websocket']
2)按照Heroku的推荐尝试WebSockets。这会引发另一个错误'错误503'
答案 0 :(得分:0)
this.io = socket.connect(yourpath, {
transports: ['websocket'],
upgrade: false,
});
首先,您需要连接到完全套接字服务器。你可以试试上面的代码吗,我将它用于我的项目