SignalRグループ(ハブクラス)を反復処理するにはどうすればよいですか?
Groups.Add(Context.ConnectionId, "foo");
グループ内の誰を確認するために、どのようにグループを反復処理しますか?そして、おそらくそこにあるconnectionIdに基づいてユーザーを返します
グループはサーバー上に永続化されないため、アプリケーションはどの接続がどのグループにあるかを追跡する責任があり、グループ数などを達成できます。
いいえ、グループ内のユーザーを反復処理することはできません。自分で追跡する必要があります。
クライアントが接続/切断/再接続するときにディクショナリを実装する可能性があります
public static readonly ConcurrentDictionary<string, object> _connections
= new ConcurrentDictionary<string, object>();
public Task Connect()
{
_connections.TryAdd(Context.ConnectionId, null);
Groups.Add(Context.ConnectionId, "users");
//Returns Connection count.
return Clients.tally(_connections.Count.ToString());
}
これを拡張して名前やグループなどを含めることができますが、akoeplinger say のように、アプリ全体でこれを追跡する必要があります。