javascript - socket.io房间名称如何从前端传递到后端?
问题描述
我目前正在制作一个在前端使用 React.js 并在后端使用 Node.js 的应用程序。在开发过程中,我发现我需要使用套接字来将实时变化反映给特定房间中的所有用户。为此,我在我的 Node.js 后端使用此代码:
io.emit("name", {
action: "action",
data: data
});
然后在我的前端接收请求,我这样做:
import openSocket from "socket.io-client";
const socket = openSocket(url);
socket.on("name", (data) => {
... logic
});
虽然此代码有效,但我目前正在向连接到我的套接字的所有玩家发送信息。但是,我只想向某个房间的玩家发送信息。我不明白的部分是如何告诉 socket.io 哪些用户在某个房间里。我阅读了文档并且房间的概念似乎只是服务器端的东西,并且可以使用以下代码将播放器添加到房间:
io.on('connection', socket => {
socket.join('some room');
});
但是我希望这个特定连接加入的房间名称存储在我的前端。有没有办法可以将这些数据从前端传递到后端,以便在建立“连接”时使用它?如果没有,我如何获得我需要的 roomID?谢谢!
解决方案
推荐阅读
- php - 按顺序创建标识号,并将范围划分为寄存器
- python - youtube-dl 前端视频下载 - 使用 python 和烧瓶?
- javascript - 通过正则表达式从 JavaScript 中提取变量而不是函数
- javascript - 如何搜索
在Javascript中通过id作为条件,然后在另一个中输出文本
?
- javascript - 从数据表中提取渲染的单元格数据
- sql - SQL - 创建数据库并查询它
- angular - 我如何在角度的 ngb 分页首页图标上使用工具提示
- javascript - 赛普拉斯任务失败并抱怨任务事件尚未在插件文件中注册
- python - 散景聚集条形图
- c# - 从子元素引用父元素的值