[C#]SignalR实现扫码登录(B/S,C/S)

4 篇文章 1 订阅
4 篇文章 0 订阅

目录

SignalR简介

框架

完整的流程

简化流程

相关文章


SignalR简介

咱先来百度一下SignalR是什么东西:

ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。------百度百科

我们可以看一下关键的一句说明 当所连接的客户端变得可用时服务器代码可以立即向其推送内容 也就是能够实现服务端到客户端的实时通信。这是实现扫码登陆的重要过程,SignalR 封装了 webSockets、foreverFrame、serverSentEvents、longPolling四种主要的传输协议。可以根据客户端支持的情况进行自动切换,也可以指定使用某种模式!

框架

完整的流程

画一个完整的流程框架,支持分布式服务器架设:

上边是一个完整的扫码登陆流程:

step1:客户端与服务端建立连接注册事件,并申请一个二维码(包含一个UUID)

step2:服务端收到注册请求后,生成一个UUID,返回给客户端,由客户端生成二维码,也可以在服务端生成二维码再给客户端。然后开始监听UUID在数据库中的变化,这里我用的是Oracle数据库,所以使用 OracleDependency 进行监听,其他数据库也支持,可以自行搜索一下

step3、4:移动端扫码读取客户端上二维码的信息,并把UUID和当前登录的用户信息通过APIServer存入DB

step5:服务端监听到数据变更,抓取UUID对应的用户信息

step6:服务端使用SignalR将用户信息推送给客户端完成登录

简化流程

为了方便讲解扫码登录的主要流程和代码脱离数据库运行,我们来画一个简化的流程:

我们把APIServer和AP集成在同一个服务器中,省略了对DB的写入和监听,把我们的精力放在使用SignalR实现扫码登录上

 

相关文章

[C#]SignalR实现扫码登录(B/S,C/S)

[C#]SignalR实现扫码登录(B/S,C/S)(一)——服务端搭建

[C#]SignalR实现扫码登录(B/S,C/S)(二)——客户端搭建(Web版)

[C#]SignalR实现扫码登录(B/S,C/S)(三)——客户端搭建(WinForm版)

[C#]SignalR实现扫码登录(B/S,C/S)源码

[GitHub][C#]SignalR实现扫码登录(B/S,C/S)源码

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值