信号器在多个选项卡中向客户端发送消息

时间:2015-01-26 17:27:02

标签: jquery signalr chat browser-tab

我试图弄清楚如何使用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();
     }
 }
}

问题是,如果他在多个标签中连接,如何将消息发送到客户端浏览器活动标签?

感谢。

1 个答案:

答案 0 :(得分:0)

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

Clients.User

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