Signalr

本文介绍如何使用Microsoft SignalR在后台向指定客户端发送消息。通过示例代码展示了如何获取Hub上下文并调用sendMessage方法来实现消息推送。此外还介绍了如何在用户连接时绑定用户ID。

后台内部发送到指定客户端

Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext<tvHub>().Clients.Client(Client.Key).sendMessage(UserHandler.dicGoods[roomid]);

  

 var lst = UserHandler.getRoomInfoListByRoomID(roomid);
                    foreach (var Client in lst)
                    {
                        //GlobalHost.ConnectionManager.GetHubContext<tvHub>().Clients
                        GlobalHost.ConnectionManager.GetHubContext<tvHub>().Clients.Client(Client.Key).sendMessage(UserHandler.dicGoods[roomid]);
                        //Clients.Client(Client.Key).sendMessage(UserHandler.dicGoods[roomid]);
                    }

 

 

winform链接

 

Connection = new HubConnection(ServerURI);
HubProxy = Connection.CreateHubProxy("wgHub");

try
{
await Connection.Start();
}

catch //(Exception ex)
{
}

 

链接绑定用户ID

  //声明静态变量存储当前在线用户
    public static class UserHandler
    {
        public static Dictionary<string, SNInfo> ConnectedIds = new Dictionary<string, SNInfo>();
    }

 

     //用户进入页面时执行的(连接操作)
        public void controllerConnected(string sn, string guid)
        {
            //进行编码,防止XSS攻击
            sn = HttpUtility.HtmlEncode(sn);

            //新增目前使用者上线清单
            UserHandler.ConnectedIds.Add(Context.ConnectionId, new SNInfo(sn, guid));
        }

 

转载于:https://www.cnblogs.com/GarsonZhang/p/6128702.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值