# 扫码登陆
* * * * *
--: 作者:Fuzz
时间:2018年8月15日
* * * * *
### 扫码登陆流程
![](https://box.kancloud.cn/838832e684a85757f75d10e136fc2425_777x530.png)
### 存在问题
1.众所周知、Http是无状态协议,页面请求加载完毕后就跟服务器没有任何交集,如何让登陆页面试试跳转呢?
2.如果能解决登陆页面跳转问题,我如何判断跳转那个用户的登陆页面呢?
### 问题解答
1.Http 短链接,既然有短链接,必然有长连接。
长连接:顾名思义、就是一直连接着。
2.创建标识符
浏览器没有独特标识符,但是自己可以创建UUID
### 扫码
生成二维码
既然扫码登陆肯定要生成二维码
第一个问题:
生成二维码
二维码存放的内容
Socket.io
讲到重点了,本次socket使用的是php开源软件中Workerman
workerman:
workerman是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。
workerman的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。 workerman本身是一个PHP多进程服务器框架,具有PHP进程管理以及socket通信的模块,所以不依赖php-fpm、nginx或者apache等这些容器便可以独立运行。
### 唯一标识符
uuid 可以使用时间戳+随机数来实现,或者用户id以及用户账号都可以。
### 源码下载
ftp://103.25.21.162/pub/magicuser/web%BA%F3%B6%CB%B2%BF/%B7%D6%CF%ED/%C9%A8%C2%EB%B5%C7%C2%BD.zip