首页 > 解决方案 > 侦听与 socket.io 的连接不起作用

问题描述

我正在将此代码用于我的后端:

const express = require('express');
const app = express();
const socketIo = require("socket.io");
const io = socketIo(http);

io.on("connection", socket => {
  console.log("New client connected");
  socket.on("disconnect", () => console.log("Client disconnected"));
});

http.listen(3000, () => {
  console.log('listening on *:3000');
});

当我运行它时,它会输出确认它正在收听的消息。但是,在连接上,它不会向控制台发送任何消息。我正在尝试侦听与 React 应用程序的连接。我已经尝试使用其他代码片段来连接功能,这些代码片段也声称可以按预期工作,但是我尝试过的都没有,包括 socket.io 官方教程中的代码。请问有人可以帮忙吗?

标签: javascriptnode.jssocket.io

解决方案


const express = require('express')
const app = express()

const PORT = 5000

// Get to http://localhost:5000
app.get("/", (request, response) => {
  // Send back some data to the client
  response.send("Hello world")
})

// Post to http://localhost:5000/getRandom
app.post("/getRandom", (req, res) => {
  res.send(Math.random())
})

app.listen(PORT, () => console.log(`Server running on PORT ${PORT}`))

人们不调用参数requestand ,而是使用andresponse的简写形式reqres

现在启动此脚本并转到http://localhost:5000,您将在 HTML 正文中看到“Hello world”。那是表达,简单而强大:)


推荐阅读