Ошибка при рукопожатии WebSocket: неожиданный код ответа: 502 с использованием NodeJS и Express - PullRequest
0 голосов
/ 19 июня 2020

Я использую Socket IO (версии упомянуты ниже) и сталкиваюсь с проблемой установления связи, как показано на снимке экрана ниже. Раньше я получал ошибку CORS и решил ее, добавив transports: ['websocket'] на стороне клиента, и внезапно эта проблема всплыла.

Версии, которые я использую:

"socket.io": "^2.3.0"

"socket.io-client": "^2.3.0"

Мой код:

На стороне клиента :

const socket = io.connect("My API",{
    reconnectionAttempts: 5,
    transports: ['websocket']
});

На стороне сервера:

const app = require('express')();
const server = require('http').Server(app);
let io = require('socket.io')(server, {
    wsEngine: 'ws',
    handlePreflightRequest: (req, res) => {
        const headers = {
            "Access-Control-Allow-Headers": "Content-Type, Authorization",
            "Access-Control-Allow-Origin": req.headers.origin, //or the specific origin you want to give access to,
            "Access-Control-Allow-Credentials": true
        };
        res.writeHead(200, headers);
        res.end();
    },
    origins:'*:*'
});
server.listen(8080);

enter image description here

...