经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » ASP.net » 查看文章
.net core 3.0 Signalr - 实现一个业务推送系统
来源:cnblogs  作者:程序有Bug  时间:2019/10/8 9:35:09  对本文有异议

介绍

ASP.NET Core SignalR 是一个开源代码库,它简化了向应用添加实时 Web 功能的过程。 实时 Web 功能使服务器端代码能够即时将内容推送到客户端。
SignalR 的适用对象:

  • 需要来自服务器的高频率更新的应用。 例如:游戏、社交网络、投票、拍卖、地图和 GPS 应用。
  • 仪表板和监视应用。 示例包括公司仪表板、销售状态即时更新或行程警示。
  • 协作应用。 协作应用的示例包括白板应用和团队会议软件。
  • 需要通知的应用。 社交网络、电子邮件、聊天、游戏、行程警示以及许多其他应用都使用通知。
    SignalR 提供了一个用于创建服务器到客户端远程过程调用(RPC)的 API。 RPC 通过服务器端 .NET Core 代码调用客户端上的 JavaScript 函数。
    以下是 ASP.NET Core SignalR 的一些功能:
  • 自动管理连接。
  • 同时向所有连接的客户端发送消息。 例如,聊天室。
  • 将消息发送到特定的客户端或客户端组。
  • 扩展以处理增加的流量。

业务需求

  • 一个人可以开多个tab有多个连接
  • 给指定的一个、一批人推送(以User为中心对该用户的所有连接进行推送(浏览器多个tab))
  • 给指定的组中某些人推送(群聊)
  • 给指定的人某些Connect推送(登录排斥,不允许多台电同时脑登录)

改进部分

  • 优先使用socket进行通信
  • 支持一个用户多个连接
  • 使用MessagePack进行传输
  • 使用Redis作为底板来支持横向扩展

本系列共分为10篇,包括基础知识介绍,项目实战等,目录如下

.net core 3.0 Signalr - 01 基础篇
.net core 3.0 Signalr - 02 使用强类型的Hub
.net core 3.0 Signalr - 03 使用MessagePack压缩传输内容
.net core 3.0 Signalr - 04 使用Redis做底板来支持横向扩展
.net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联
.net core 3.0 Signalr - 06 业务实现-业务分析
.net core 3.0 Signalr - 07 业务实现-服务端 自定义管理组、用户、连接
.net core 3.0 Signalr - 08 业务实现-客户端demo
.net core 3.0 Signalr - 09 待改进&交流

Demo源码地址

https://github.com/xiexingen/CTS.Signalr

强烈推荐的参考文档

微软官方文档:https://docs.microsoft.com/zh-CN/aspnet/core/signalr/introduction?view=aspnetcore-3.0
发现写的不错的博客: https://www.cnblogs.com/cgzl/p/9509207.html
发现写的不错的博客:https://www.cnblogs.com/cgzl/p/9515516.html

二维码

原文链接:http://www.cnblogs.com/xiexingen/p/11626386.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号