【发布时间】:2021-04-08 02:26:53
【问题描述】:
大家好,我有一个简单的套接字示例:
const app = express();
const server = require("http").createServer(app);
const io = require("socket.io")(server, {
cors: {
origin: "http://localhost:3000",
methods: ["GET", "POST"],
credentials: true
}
});
var userCount = 0;
io.on('connection', function (socket) {
userCount++;
io.emit('userCount', { userCount: userCount });
socket.on('disconnect', function() {
userCount--;
io.emit('userCount', { userCount: userCount });
});
});
和前端:
const [userCount, setuserCount] = useState(0);
socket.on('userCount', function (data) {
setuserCount(data.userCount);
});
我不明白,但它触发了这么多请求.. 我的问题是使用套接字的正确方法是什么?
【问题讨论】:
-
“它触发了这么多请求”是什么意思?多少?多久一次?
-
它每秒发送一次请求,它不知道成员如何,它只是在增加数字
-
webm.red/view/8oOJ.webm @ 但是当我替换 setuserCount(data.userCount);使用 console.log(data.userCount);效果很好,为什么?
-
我不知道你之前评论中的那个链接是干什么用的。当我尝试查看它时,我没有得到任何有用的信息。
-
在右侧的页脚 Active: 并且有 data.usercount,它只是显示套接字如何处理过多的请求