.NET 4.0下使用 SignalR (2)
来源:互联网 发布:戒网瘾学校知乎 编辑:程序博客网 时间:2024/06/06 01:02
这次 主要是了解 SignalR 发送到个人、发送到组、发送到所有人的功能。
因为客户端id是自动生成的,如果要实现像 qq 那样给指定账号发送消息,那么需要配合数据库进行设计,
需要在客户登陆时 获取客户端连接ID并与登陆账号关联,详细设计以后再讨论
下面是后台主要代码
public class MessHub : Hub { public string GetClientId() { return this.Context.ConnectionId;//该ID自动生成 不可自定义 } public void ClientGetData()//客户端获取数据 { string clientId = GetClientId(); this.Clients.Client(clientId).ClientGetData(clientId); } public void AllClientGetData(string msg)//所有客户端获取数据 { this.Clients.All.AllClientGetData(msg); } public void GroupGetData(string groupId, string msg)//客户组获取数据 { this.Groups.Add(this.Context.ConnectionId, groupId);//自定义组 this.Clients.Group(groupId).GroupGetData(msg); } }
前端界面
<!DOCTYPE html><html> <head runat="server"> <title>测试</title> <script src="~/Scripts/jquery-1.6.4.min.js"></script> <script src="~/Scripts/jquery.signalR-1.1.4.min.js"></script> <script src="~/signalr/hubs"></script> <style> table, tr, td{ text-align: center; border: 1px solid #808080; border-collapse: collapse; } .td1 { width: 300px; } .td2, .td3 { width: 70px; } </style> </head> <body> <table> <tr> <td class="td1">个人 信息</td> <td class="td2">组 信息</td> <td class="td3">广播信息</td> </tr> <tr> <td class="client"></td> <td class="group"></td> <td class="allClient"></td> </tr> <tr> <td><input type="button" value="测试" class="btnClient" /></td> <td><input type="button" value="测试" class="btnGroup" /></td> <td><input type="button" value="测试" class="btnAllClient" /></td> </tr> </table> <script> (function () { var messHub = $.connection.messHub;//对应后台的类MessHub messHub.client.clientGetData = function (msg) {//clientGetData是后台动态生成的 $(".client").append(msg + "<br/>"); }; messHub.client.groupGetData = function (msg) { $(".group").append(msg + "<br/>"); }; messHub.client.allClientGetData = function (msg) { $(".allClient").append(msg + "<br/>"); }; $.connection.hub.start().done(function () { $(".btnClient").click(function () { messHub.server.clientGetData();//调用服务端的 ClientGetData 方法 }); $(".btnGroup").click(function () { messHub.server.groupGetData("groupId", "组 信息"); }); $(".btnAllClient").click(function () { messHub.server.allClientGetData("广播信息"); }); }); })(); </script> </body></html>
0 0
- .NET 4.0下使用 SignalR (2)
- .NET 4.0下使用 SignalR
- .NET 4.0下使用 SignalR
- 在ASP.NET Core下使用SignalR技术
- Asp.NET MVC3 使用 SignalR 实现推送
- 用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR]
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- Asp.NET MVC3 使用 SignalR 实现推送(接上)
- ASP.NET MVC4使用SignalR实现实时通讯
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- asp.net MVC 使用signalR +bootstrap 实现 progressBar
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 【使用SignalR+Asp.net创建实时聊天应用程序】
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- Node.js 事件
- Lucene实践:全文检索的基本原理
- Node.js 函数
- STM32使用J-Link烧写出错:Error: Flash Download failed - Cortex-M3
- JavaScript UserAgent判断---摘自Professional JavaScript for Web Developers 3rd
- .NET 4.0下使用 SignalR (2)
- Node.js 路由
- JAVA作业—从命令行输入两个参数打开文件并计算代码行数 .
- Hibernate的配置和测试
- POJ 3692 最大团
- 心得话聊
- SQuirreL SQL Client使用入门1
- 《Java程序设计》第一次作业:源代码计算器
- OpenDaylight学习 ( by quqi99 )