摘要: 个人心得 写博客真的比写代码累,膜拜那些坚持写博客的大佬! 有时候零散的片段比较多,没写之前感觉有千千万万要写的东西,实际写的时候发现, 好像这个没啥说的,然后就帖了个图,或者一笔带过了 待改进&交流 使用消息队列替换目前的api调用形式,同时消息队列支持定义推送优先级 使用polly来重试失败的调 阅读全文
posted @ 2019-10-06 08:24 程序有Bug 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 由于signalr作为一个单独的推送系统,跟业务系统是分离开的,所以此处模拟一个业务系统,新建一个.net core app项目 模拟实现一个登录功能 我们的登录很简单,当进入系统,如果检测到用户未登录则跳转到登录页面,用户只需要输入用户名点击登录即算登录成功 配置ConfigServices方法 阅读全文
posted @ 2019-10-06 08:23 程序有Bug 阅读(1648) 评论(1) 推荐(0) 编辑
摘要: Hub的管理 重写OnConnectedAsync 从连接信息中获取UserId、Groups,ConnectId,并实现这三者的关系,存放于redis中 "代码请查看" 提供给业务系统调用的API [POST] api/notify/post application/json形式 提交,数据格式如 阅读全文
posted @ 2019-10-06 08:20 程序有Bug 阅读(820) 评论(0) 推荐(0) 编辑
摘要: 业务需求 1. 人 项目关系 一个人可以属于多个项目,一个项目可以有多个人加入,通知的时候,可以通知项目内的所有人,也可以通知部分人或者某个责任人。 2. 登录互斥 同一个人不允许登录两次(不同浏览器或者不同电脑登),后面登录的会将前面登录的人挤下线。 3. 聊天 可以私聊、也可以创建群聊、上线通知 阅读全文
posted @ 2019-10-06 08:19 程序有Bug 阅读(447) 评论(0) 推荐(0) 编辑
摘要: Signalr是以Group、Connect为核心来进行推送,比如,给某个组、某个连接来推送,但实际场景中,核心应该是某个组、某个人;然而一个人可以对应多个连接(浏览器多个tab页);本节就来介绍下自行管理人、组、连接这些关系 由于signalr连接的时候不那么方便附带header和cookie(因 阅读全文
posted @ 2019-10-06 08:18 程序有Bug 阅读(1242) 评论(0) 推荐(0) 编辑
摘要: 在实际的系统中,可能需要多台机器部署;然而,Signalr的连接信息是跟站点走的,举个例子 推送系统部署了A、B两个服务器,张三访问A服务器,李四访问B服务器,当张三通过A服务器向李四推送的时候,A服务器上是找不到李四的连接信息的,自然也就推送不过了,这个时候就需要有一个统一协调的玩意,signal 阅读全文
posted @ 2019-10-06 08:17 程序有Bug 阅读(750) 评论(0) 推荐(0) 编辑
摘要: MessagePack基础介绍 Signalr默认使用的是json形式传递数据,但是signalr提供了灵活的扩展,支持MessagePack形式序列化数据,以增加性能降低网络传输的效果,极大的提高响应速度。 先看一个MessagePack自定义序列化的例子,以一个自定义的实体对象为例,可以使用Me 阅读全文
posted @ 2019-10-06 08:16 程序有Bug 阅读(1679) 评论(0) 推荐(0) 编辑
摘要: 强类型的优缺点 优点 强类型的Hub可以避免魔法函数名,相比弱类型更容易维护和发现问题,直接上代码 缺点 特么的得多些好几行代码 代码 接口定义 实现 对之前的Hub进行修改,暂时就先通过OnNotify给当前所有客户端推送一个信息 在api中调用Hub推送 大部分情况下,是通过客户端某个操作,比如 阅读全文
posted @ 2019-10-06 08:15 程序有Bug 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 因为将signalr作为单独的站点,此处需要建立两个项目,一个专门用于signalr作为推送项目,一个客户端(实际的业务项目) 基础知识速览 Clients对象属性 | 属性 | 描述 | : | : | All | 在所有连接的客户端上调用方法 | Caller | 在调用集线器方法的客户端上调用 阅读全文
posted @ 2019-10-06 08:14 程序有Bug 阅读(1249) 评论(0) 推荐(1) 编辑
摘要: 介绍 ASP.NET Core SignalR 是一个开源代码库,它简化了向应用添加实时 Web 功能的过程。 实时 Web 功能使服务器端代码能够即时将内容推送到客户端。 SignalR 的适用对象: 需要来自服务器的高频率更新的应用。 例如:游戏、社交网络、投票、拍卖、地图和 GPS 应用。 仪 阅读全文
posted @ 2019-10-06 08:13 程序有Bug 阅读(1315) 评论(0) 推荐(1) 编辑