Как я могу добавить/удалить пользователя из группы с помощью userId
Groups.Add(userid,"groupName")
которые я использую в своей базе данных вместо использования connectionId
Groups.Add(connectionId,"groupName")
Я создал сопоставление, как здесь ! используя метод "Идентификатор пользователя", и я могу это сделать
Clients.Users(userId).sendMessage("asa")
но
Groups.Add(userid,"groupName")
это не работает. Итак, как я могу создать Group.Add(userid, "groupName")? Есть ли специальное сопоставление, о котором я не знаю, или я использую это неправильно?
Невозможно добавить userId
в группу. Вы должны использовать только connectionId
. В зависимости от ваших потребностей вы можете использовать один из способов, описанных в приведенной ссылке.
Например, вы можете добавить каждое соединение к группе, названной userId
:
Groups.Add(Context.ConnectionId, userId);
А затем вы можете отправлять сообщения указанному пользователю:
Clients.Group(userId).sendMessage("asa");
Другой вариант использования может включать определение userId
в методе OnConnected
а затем добавление пользователя в нужную группу по его connectionId
:
var groupName = GetGroupNameByUserId(userId);
Groups.Add(Context.ConnectionId, groupName);
...
Clients.Group(groupName).sendMessage("asa");
connectionId
?