【问题标题】:Signalr send message to client in multiple tabsSignalr 在多个选项卡中向客户端发送消息
【发布时间】:2015-03-25 04:13:51
【问题描述】:

我试图弄清楚如何使用 SignalR 向一个连接在多个选项卡中的客户端发送消息。 问题是当我将消息发送到特定客户端时,它只会到达第一个选项卡而不是客户端浏览器的当前选项卡。

这是我的一些代码:

ChatHub 类:

public void SendToSpecific(string name, string message, string to, string chatlog, string chatlogTo, string mType)
    {
        Clients.Caller.broadcastMessage(name, message, chatlogTo, mType);
        Clients.Client(dic[to]).broadcastMessage(name, message, chatlog, mType);
    }

jquery:

chat = $.connection.chatHub;

Startup.cs:

using Owin;
using Microsoft.Owin;
[assembly: OwinStartup(typeof(testFoundation.Startup))]
namespace testFoundation
{
 public class Startup
 {
     public void Configuration(IAppBuilder app)
     {
        // Any connection or hub wire up and configuration should go here
        app.MapSignalR();
     }
 }
}

问题是,如果客户端浏览器的活动选项卡连接到多个选项卡,我如何将消息发送到?

谢谢。

【问题讨论】:

    标签: jquery signalr chat browser-tab


    【解决方案1】:

    Clients.Client 将发送到一个连接,每个选项卡都有自己的连接。如果您想发送给特定用户,请使用

    Clients.User
    

    发送到活动标签看起来很奇怪?如果他切换标签,其他人不会是最新的?

    【讨论】:

    • 完美的@Anders,谢谢。这是聊天中心中的新代码:Clients.User(name).broadcastMessage(name, message, chatlogTo, mType); Clients.User(to).broadcastMessage(name, message, chatlog, mType);
    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 2020-02-04
    • 1970-01-01
    • 2015-01-12
    • 2013-04-16
    • 1970-01-01
    相关资源
    最近更新 更多