@YungJabo

Почему не работает подключение websocket, node.js+express.js?

Я хочу установить соединение через webSocket и вроде делал все по документации, но webSocket через React не хочет подключаться. В чем может быть проблема?

NODE..JS:
const express = require("express");
const axios = require("axios");
const cheerio = require("cheerio");
const cors = require("cors");
const getSearch = require("./getSearch");
const getFilm = require("./getFilm");
const torrentStream = require("torrent-stream");
const WebSocket = require("ws");


const app = express();
const server = require('http').createServer(app);
const wss = new WebSocket.Server({ server: server });
const PORT = 5000;
app.use(cors());

let activeUsers = [];

console.log(wss);




app.get("/", async (req, res) => {
  try {

  } catch (error) {
    console.log("err", error);
  }
});

app.get("/qqq", async (req, res) => {
  try {
    const searchText = req.query.search;
    const data = await getSearch(searchText);
    res.json(data);
  } catch (error) {
    console.log("err", error);
  }
});

app.get("/videoLink", async (req, res) => {
  try {
    const searchFilm = req.query.film;
    const data = await getFilm(searchFilm);
    console.log(data);
    res.json(data);
  } catch (error) {
    console.log("err", error);
  }
});

app.get("/test", async (req, res) => {
  try {

    const engine = torrentStream('magnet:?xt=urn:btih:b612e8b5035bf8f4f6e6bb3deec63699dbb93a39&tr=udp%3A%2F%2Fopentor.net%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce&tr=udp%3A%2F%2Fatrack.pow7.com%3A6969%2Fannounce&tr=udp%3A%2F%2Fpow7.com%3A6969%2Fannounce&tr=http%3A%2F%2Fsecure.pow7.com%2Fannounce&tr=http%3A%2F%2Ft1.pow7.com%2Fannounce&tr=udp%3A%2F%2Ft2.pow7.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.bittor.pw%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.dler.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce&tr=http%3A%2F%2Fbt2.t-ru.org%2Fann%3Fmagnet');
    engine.on('ready', () => {
      engine.files.forEach(function(file) {
        console.log('filename:', file.name);
        const stream = file.createReadStream();
      });
    });


  } catch (error) {
    console.log("err", error);
  }
});




server.listen(PORT, () => {
  console.log('Server is running on port 5000');
});

REACT..JS:
import "./main.scss";
import Header from "./components/Header/Header";
import Player from "./components/Player/Player";
import { useEffect, useRef, useState } from "react";
function App() {
  const [url, setUrl] = useState("");
  const setVideoUrl = (videoLink) => {
    setUrl(videoLink);
  };
  useEffect(() => {
    const socket = new WebSocket("ws://cinema.yungjabo.repl.co/");
  }, []);
  return (
    <div className="App">
      <Header setVideoUrl={setVideoUrl} />
      <Player url={url} />
    </div>
  );
}

export default App;


Браузер:
6559544f636d5493968203.png
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
Daemon23RUS
@Daemon23RUS
сервер отвечает на порту 5000 ?
тогда ws://cinema.yungjabo.repl.co:5000/
Или что то не договариваете ...

UPD: В комментариях выяснилось что сайт работет на 443 порту по протоколу https
ответ: вместо протокла ws:// указать wss://
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы