Перья - Socket.io - /socket.io/?EIO=3&transport=websocket - 404 не найден - PullRequest
0 голосов
/ 18 февраля 2020

Я получаю следующую ошибку https://0.0.0.0:3030/socket.io/?EIO=3&transport=websocket 404 not found.

Я использую этот код для своей серверной стороны:

// index.ts
import fs from "fs";
import https from "https";

const server = https
  .createServer(
    {
      cert: fs.readFileSync("server.crt"),
      key: fs.readFileSync("server.key"),
      requestCert: true,
      rejectUnauthorized: true,
      ca: fs.readFileSync("rootCA.crt")
    },
    app
  )
  .listen("3030");

И я использую этот код для клиентской стороны:

// feathers-client.ts
const socket = io("https://0.0.0.0:3030", {
  transports: ["websocket"],
  secure: true
});

1 Ответ

0 голосов
/ 18 февраля 2020

Клиент socket.io подключается к серверу socket.io. Код сервера, который вы показываете, является простым веб-сервером. Вам нужно подключить библиотеку сервера socket.io к вашему веб-серверу, чтобы он мог обрабатывать входящие соединения socket.io. Вы можете сделать это следующим образом:

// index.ts
import fs from "fs";
import https from "https";
import socketIO from 'socket.io';

const server = https.createServer(
    {
      cert: fs.readFileSync("server.crt"),
      key: fs.readFileSync("server.key"),
      requestCert: true,
      rejectUnauthorized: true,
      ca: fs.readFileSync("rootCA.crt")
    },
    app
  )
  .listen("3030");

// hook socket.io into your server to make an instance of a socket.io server
const io = socketIO(server);

Теперь ваш сервер читает входящие клиентские соединения socket.io с указанным вами клиентским кодом.

...