SignalR: Могу ли я отправить сообщение абоненту в группе? - PullRequest
0 голосов
/ 14 февраля 2019

Вы можете отправить сообщение вызывающей стороне, если вы не используете группы.Но я хочу иметь возможность отправить сообщение клиенту, когда он присоединится к группе.Возможно ли это?

Это то, что я сейчас использую:

Для звонящего, если не используются группы

await Clients.Caller.SendAsync("update", "You have connected to the server.");

И это то, что янайдено.

Со страницы работы с группами на сайте Microsoft Отправьте все в группе.

Clients.Group(groupName).addChatMessage(name, message);

Все клиенты , кроме указанных .

Clients.Group(groupName, connectionId1, connectionId2).addChatMessage(name, message);

Все клиенты , кроме абонента

Clients.OthersInGroup(groupName).addChatMessage(name, message);

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете добавить или удалить своего клиента в группу из вашего ChatHub, например

public async Task JoinGroup(string name, string group)
{
    await Groups.Add(Context.ConnectionId, group);
}

public Task LeaveGroup(string name, string group)
{
    return Groups.Remove(Context.ConnectionId, group);
}

. А на вашей стороне js необходимо добавить обратный вызов для двух вышеуказанных методов,

$.connection.chatHub.server.joinGroup(connectionID, group);

$.connection.chatHub.server.leaveGroup(connectionID, group);
...