【问题标题】:How can I use signalr in server broadcast to a single client only, not all clients?如何在服务器广播中仅向单个客户端(而不是所有客户端)使用信号器?
【发布时间】:2020-12-05 20:00:15
【问题描述】:

我想创建一个仪表板,使用信号器服务器仅向单个客户端广播,而不是所有客户端。

【问题讨论】:

  • 您使用的是 ASP.NET Core 还是 .NET Framework?通常,您可以为此使用组。您的客户端连接到一个组(可能传递一些参数),并且在添加到组之前,您可以应用一些逻辑来确保只添加一个(或者客户端被允许在组中)。然后在广播消息时,您发送到该组。
  • 本文档应该对您有所帮助:docs.microsoft.com/en-us/aspnet/signalr/overview/…
  • 您可以在 Hub 内部执行Clients.Others.SendAsync(...)

标签: c# asp.net-mvc signalr


【解决方案1】:

首先为每个用户创建组 (用户在浏览器中使用 multitab 并回调新的 connectionid) https://docs.microsoft.com/en-us/aspnet/core/signalr/groups?view=aspnetcore-5.0

    public class MyEndPoint : PersistentConnection 
{
    protected override IList<string> OnRejoiningGroups(IRequest request, IList<string> groups, string connectionId)
    {
        return groups;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2012-01-25
    • 2019-04-01
    • 1970-01-01
    • 2015-06-19
    • 2012-07-18
    相关资源
    最近更新 更多