node.js - 在 Heroku 上托管时出现 socket.io 问题
问题描述
将我的代码服务器上传到 Heroku 时遇到问题。没有套接字连接消息。这是 Heroku 上服务器端的代码
var appS = require('express')();
var http = require('http').Server(appS);
var io = require('socket.io')(http,{path: '/octagon/socket.io'});
http.listen(3000, function(){
console.log('listening on *:3000');
});
io.sockets.on('connection', function (socket) {
socket.on('test',function (message) {
console.log(message)
})
})
这是客户端的代码
var socket = io.connect('https://murmuring-waters-83521.herokuapp.com/',
{
reconnect: true,
transports : ['websocket'],
ressources: '/octagon/socket.io'
});
我仍然收到此消息
WebSocket connection to 'wss://murmuring-waters-83521.herokuapp.com/octagon/socket.io/?EIO=3&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 503
解决方案
您可以通过更新客户端配置来使其工作
var socket = io('//murmuring-waters-83521.herokuapp.com',
{
reconnect: true,
rejectUnauthorized: false, // new
path: '/octagon/socket.io' // use this instead of `ressources`
});
socket.on('connection', function () {
alert('Browser is connected to server!');
});
推荐阅读
- javascript - 使用 Lodash 映射时的键问题
- css - 当浏览器视口缩小时,如何防止我的列堆叠
- r - R:如果满足条件,则从 data.frame 中删除列
- oauth-2.0 - 用于访问令牌颁发者的 IdentityServer4 数据库
- html - 将按钮放入 div class="g-recaptcha"
- excel - 使用留存率和新用户获取数预测 DAU
- javascript - Paint JS改变颜色onclick
- swift - Swift 到 Kotlin:协议到接口,带有泛型
- matlab - 每次程序执行时如何在MATLAB中的下一列中将数据写入excel,并将先前的结果保存在先前的列中
- reactjs - “位于 chrome-extension://myextensionid/ 的网页可能暂时关闭,或者它可能已永久移动到新网址。ERR_UNEXPECTED”