gpt4 book ai didi

c# - SignalR : Where to store them? 中的 session 数据

转载 作者:太空宇宙 更新时间:2023-11-03 23:27:42 25 4
gpt4 key购买 nike

假设我有一款游戏使用 SignalR 在客户端之间共享信息。在我的 Hub 类中,我有一个名为“joinGame()”的方法,当某些客户端想要加入时调用该方法。我需要将他的 ID 添加到某个数组中,才能知道他已经加入了游戏。它不需要在数据库中,因为我只在本次 session 期间需要此信息。

public class GameHub : Hub
{
public List<int> Players = new List<int>();

public void joinGame(int id) //player updates his position
{
Clients.All.newPlayer(id);
Players.Add(id);
}
}

这段代码不会工作,因为每次我调用“joinGame()”函数时“Players”变量似乎都被清除了。

我怎样才能正确地做到这一点?

最佳答案

您可以使用 Groups :

public async Task JoinGame(int id)
{
await Groups.Add(Context.ConnectionId, id);
Clients.All.newPlayer(id);
}

关于c# - SignalR : Where to store them? 中的 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33328320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com