当我尝试在SignalR中使用群组时,出现了一些奇怪的问题。我为我的Hub编写了一个类,其中包含一个任务,该任务在我向所有客户端发送ping时工作。我已经创建了两种方法,一种是将客户端添加到群组,另一种是将客户端从群组中删除。但是,当我尝试将客户端添加到群组时,什么也没有完成。
这是Hub的代码:
public interface IActionClient
{
// User is in front of the cameras
Task HighlightUser(Guid userId);
// When users added or deleted
Task UpdateGame(int gameId);
Task JoinGroupAsync(string groupName);
Task LeaveGroupAsync(string groupName);
}
// possible clients
public enum ClientType
{
Leaderboard,
Dashboard,
Register
}
public class OneHub : Hub<IActionClient>
{
public OneHub()
{
}
public override async Task OnConnectedAsync()
{
await base.OnConnectedAsync();
}
public async Task JoinGroupAsync(string groupName) => await Groups.AddToGroupAsync(Context.ConnectionId, groupName);
public async Task LeaveGroupAsync(string groupName) => await Groups.RemoveFromGroupAsync(Context.ConnectionId, groupName);
// todo : groups
}
当我尝试将我的客户添加到群组中时出现了问题:
// add client to group hub
await _hubClients.Clients.All.JoinGroupAsync(groupName);