当我尝试在 SignalR 中与组一起工作时,我有一些奇怪的事情。我为我的集线器做了一门课,那里有当我 ping 所有客户端时工作的任务。我已经完成了两种方法,一种是添加,另一种是从组中删除客户端。但是当我尝试在一个组中拥有一个客户时,什么都没有完成。这是集线器的代码:
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);