我正在开发一款在线多人卡牌反人类游戏(前面是 React,用于重定向的 React 路由器,后面是 Node)我试图在大厅中的一个用户时重定向“大厅”或房间中的所有客户端点击“开始”,但现在只有点击开始的用户被重定向。
这个想法是有人会设置一个新游戏,它会有一个独特的 pin,在你创建游戏并选择你的头像后,其他人可以使用该 pin 加入大厅(这部分工作正常,大厅中的用户为所有用户实时更新),并且只有创建游戏的人才能在所有用户加入后获得“开始”按钮以单击开始游戏,这应该重定向大厅中的所有用户。
在客户端,在大厅组件的构造函数中,我有
socket.on("start game", () => {
this.props.history.push(`/${this.props.match.params.pin}`);
});
对于有权访问开始按钮的一个用户,单击它时会触发以下内容
socket.emit("start");
然后进入后端
socket.on('start', () => {
socket.emit('start game');
})
但只有点击开始的用户被重定向,我似乎无法弄清楚这一点。
这是我第一次尝试实现套接字,我不太确定我在这里会遗漏什么