如何在 SignalR 中一起启动客户端

How to start clients together in SignalR

我正在制作游戏。当两个玩家同意一起玩时,我想显示一个屏幕 5 秒,告诉他们准备好并同时开始。

public class GameHub : Hub
{
    public void AcceptRequest()
    {
        Clients.Group("players").GetReadyToPlay();
    }
}

我向他们发送了准备就绪的信号,但我不知道该怎么做才能同时开始。

我有两个问题:

啊啊

在我上面的方法AcceptRequest中,我可以向他们发出准备就绪的信号,然后让线程休眠 5 秒,然后向客户端发送开始信号。应该这样做吗?

确保这 2 名玩家在这个游戏实例中属于他们自己的组。

启动发送给该组的倒计时,并在您的 UI 上显示倒计时的值。不要休眠线程,只需倒计时并向客户端广播“5”、“4”、“3”、“2”、“1”、"Go!" 更新。

"Go!" 可以使用实际开始比赛的单独广播方法。

最终您将不得不处理 disconnect/reconnect 个事件以及这些事件如何影响比赛。