Получает ли клиент SignalR сообщения без подписки?

Если у меня есть концентратор signalR, который отправляет сообщения всем клиентам с довольно большой полезной нагрузкой или частной информацией, все ли клиенты, которые подключаются к концентратору (часть той же группы), получают сообщения, даже если они не подписываются на эти события на на стороне клиента?

Хотите знать, достаточно ли умен клиент, чтобы согласовывать, какие события он имеет с сервером, чтобы сервер не отправлял посторонние данные?

Спасибо!


person user1686912    schedule 07.06.2013    source источник
comment
Вы должны отметить ответ как правильный ответ, так как это полный ответ   -  person csharpwinphonexaml    schedule 26.01.2018


Ответы (1)


Да, это так. Если клиент подписан на хаб, он будет получать все сообщения, отправленные через широковещательные каналы этого хаба.

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

Некоторые примеры:

Clients.All.foo(); // All subscribed clients will foo invoked
Clients.Group("bar").foo(); // All subscribed clients to the hubs group "Bar" will have foo invoked.  If your client is not subscribed to "bar" it will not have "foo" invoked.
Clients.Client("AClientsConnectionId").foo(); // The client with the specified connection id will have foo invoked.
person N. Taylor Mullen    schedule 07.06.2013