socket.io не работает на Heroku в приложении React - PullRequest
0 голосов
/ 17 марта 2020

У меня проблема с socket.io, работающим на локальном хосте, но не при развертывании на heroku.

на стороне клиента У меня есть это:

import socketIOClient from "socket.io-client";
const socket = socketIOClient("http://127.0.0.1:4001");

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

const http = require("http");
const socketIo = require("socket.io");
const server = http.createServer(app);

const io = socketIo(server);

io.on("connection", socket => {
  console.log("New client connected");
  socket.on("chat message", function(msg) {
    console.log("message: " + msg);
    io.emit("chat message", msg);
  });

Это прекрасно работает на локальном хосте, но на Heroku выдает Ошибки CORS. Чтобы бороться с этим, я попытался изменить эту строку:

const socket = socketIOClient("http://127.0.0.1:4001");

на

const socket = socketIOClient("https://radiant-retreat-86258.herokuapp.com/");

(это URL-адрес приложения).

Я также пытался изменив код следующим образом:

import io from "socket.io-client";
const socket = io();

обе эти опции убирают ошибку CORS, однако сеть показывает непрерывные 403, и сокет фактически не делает то, что должен делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...