繁体   English   中英

如何使 React JS 和 Socket IO 通过 Express JS 服务器连接在一起?

[英]How can i make React JS and Socket IO connect together via Express JS server?

所以我最近尝试使用套接字 io,但它不允许我连接到 React JS。 在 console.log 它给了我一些奇怪的错误信息。 看看下面的代码。 我将发布 React 和 localhost 的图像。 在此处输入图像描述

服务器(Express JS):

const app = require("express")();
const bodyParser = require("body-parser");
const cors = require("cors");
const http = require("http").createServer(app);
const io = require("socket.io")(http);
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
io.on("connect", (socket) => {console.log("connected");});
app.listen(5000, () => console.log(`Running on port...`));

您需要添加 GET 请求可以到达的虚拟路由。

尝试这个:

const express = require("express");
const app = express();
const router = express.Router();
const bodyParser = require("body-parser");
const cors = require("cors");
const http = require("http").createServer(app);
const io = require("socket.io")(http);

app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

router.get("/", (req, res) => {
  res.send({ response: "I am alive" }).status(200);
});

app.use("/socket.io", router);

io.on("connect", (socket) => {
  console.log("connected");
});

app.listen(5000, () => console.log(`Running on port...`));

您可以在 useEffect 挂钩中初始化套接字,也可以使用 io.connect(URL) 而不是 io(URL) 后端看起来不错。 链接可能会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM