#node.js #websocket #socket.io
Вопрос:
Я продолжаю получать эту ошибку :подключение WebSocket к «wss://url/socket.io/?EIO=4 и транспорт=websocket» не удалось: в течение одной недели в производстве не локально. Вот мои узлы подключения к websocket в server.js файл:
`server.js :
const http = require('http');
const socketIO = require('socket.io');
const server = http.createServer(app);
const io = socketIO(server);
//const io = require('socket.io').listen(8080).sockets;
app.set('io', io);`
Вот мое подключение к websocket в Angular:
`environment.prod.ts :
export const environment = {
production: true,
basUrl : "https://okbaclinical-backend.herokuapp.com/api/",
socketBaseUrl : "wss://okbaclinical-backend.herokuapp.com"
};
`
`
notifications.ts :
//imports :
import { io } from 'socket.io-client';
import { environment } from 'src/environments/environment.prod';
//declarations :
private websocket = environment.socketBaseUrl;
socket;
//code :
this.socket = io(this.websocket, {transports: ['websocket']});
this.socket.on('notification', (res) => {
this.getNotification();
});
`
Я попытался обновить и понизить рейтинг, используя следующие версии: 1.7.0, 2.4.0, 3.1.1
Ответ №1:
wss означает, что вы используете ssl, поэтому вам следует запросить https и предоставить сертификаты
Ответ №2:
Прокси-сервер, передающий ваши запросы на веб-сокеты, может помочь.
Комментарии:
1. Я новичок в веб-разработке, подскажите, пожалуйста, как создать прокси и использовать его в этом случае? (ps: я использую angular и nodejsfront и обратно последовательно)