Groupes SignalR – filtrage géré sur le client ou le serveur?

J’ai lu une quantité décente de concentrateurs et de groupes SignalR. En particulier, j’ai remarqué que vous ne pouvez pas obtenir le nombre de connexions dans un groupe particulier.

Le filtrage des groupes est-il géré sur le client ou le serveur? Si le serveur, pourquoi SignalR ne peut pas exposer un compte? Si sur le client, existe-t-il un moyen d’envoyer des messages uniquement à des clients particuliers?

Lorsque vous envoyez un message à un groupe particulier de connexions spécifique, le filtrage est effectué sur le serveur (il n’y a pas de filtrage, vous vous adressez à cette connexion ou à ce groupe).

SignalR est basé sur pub sub donc il n’ya pas de liste de connexions en soi. Si vous souhaitez suivre une liste de connexions, vous devez gérer les événements de connexion et de déconnexion et les conserver en mémoire ou dans une zone de stockage persistant.

La raison pour laquelle nous ne vous fournissons pas une liste de connexions est que tout état que nous stockons nuit à la montée en puissance sur les nœuds. Si nous vous fournissons une liste de connexions, c’est un gouffre d’échec, car si vous ajoutez un autre nœud Web à votre batterie, vous devez soudainement synchroniser l’état de cette dernière. Nous vous permettons d’adresser des connexions individuelles ou des groupes via leur identifiant, ce qui nous permet d’utiliser le bus de messages pour publier à tous les abonnés de cet identifiant.