微信扫码登录采用的是 Ajax 轮询,但是完全没有找到过基于 Websocket 扫码登录的现实案例,为什么这个技术没人用在扫码登录上?明明这样响应速度更快,难道是有什么缺点?
![]() |
1
xuanbg 150 天前 ![]() 响应速度更快能快多少?没有利益的事情是没人会干的。
|
![]() |
2
DoctorCat 150 天前
架构上的 tradeoff,轮询不用保持长链接,意味着服务端可以随时切换,体验上更好
|
3
yaocai321 150 天前 ![]() Websocket 响应更快, 你怎么不说账号密码登录更快.
个人认为扫码登录就是为了提高 App 日活的脑瘫设计. |
![]() |
4
kop1989 150 天前 ![]() 我认为主要的问题就是开发成本高。
对于普通的 web 应用场景而言(甚至包括 web 版微信聊天),长轮询甚至轮询就已经够用了。 采用 websocket,软件工程上不划算。 |
5
photon006 150 天前
钉钉算不算常见,可能 linux 用户不常见
|
6
linxl 150 天前
因为够用了
|
7
acmore 150 天前
开销大,需要维持状态不灵活。
实现起来也比一来一回更麻烦。 |
![]() |
8
gdfsjunjun 150 天前
@photon006 钉钉也是轮询[img]https://i.loli.net/2020/11/23/Z9iogwFsIdz5jLm.png[/img]
|
![]() |
9
qwertyzzz 150 天前
我也发现了
|
![]() |
10
mebtte 150 天前
同样的效果, http 轮询比 websocket 开发简单, 消耗更少的服务器资源
|
![]() |
11
abersheeran 150 天前
陈年架构,如果没有非换不可的原因不会换的。HTTP 这一套很成熟了,要说服人去换 WebSocket,只有一种可能——你是新上任的技术管理层,为了表现,让手下的码农去换技术实现。
|
![]() |
12
Xusually 150 天前
显示出二维码后,用户掏出 iPhone 12,打开微信,有信号没网,飞行模式一下,15s 后有信号了,主卡卡住,换副卡,好嘛。。。1 分钟过去了,websocket 这链接就一直占用着。。。
|
![]() |
14
gdfsjunjun 150 天前
@yaocai321 确实扫码比较反人类,本来是不想使用手机才在电脑登录,现在还要拿手机扫。
也不是说扫码就一无是处,反正我在公用电脑登录都是无痕模式+扫码,这样浏览器根本不可能记住我的密码,感觉要安全些。 而且扫码不是对那些老一辈的基本上没接触电脑的更友好一些吗?打字速度非常慢,还不如直接扫码简单快捷。 |
![]() |
15
gdfsjunjun 150 天前
@abersheeran 2333,你想多了,学生而已,最近对 Websocket 感兴趣,先看看有哪些现实案例,如果运用广泛我就去学一下了,现在看来似乎这个技术并没太大用处。
|
![]() |
16
laravel 150 天前
因为没必要啊,同时登陆的用户能有几个? long polling 足够了,并不是所有浏览器都支持 websocket
|
![]() |
17
chendy 150 天前
只要轮询满足需求,就不用 ws
实现复杂度和运行成本根本不在一个量级 |
![]() |
18
whywhywhy 150 天前 ![]() = =!
以前一水的觉得 ws 好,各种高大上,要摆脱掉轮询…… 怎么现在又回到轮询了。。。 |
19
sunmoon1983 150 天前
我觉得有可能是因为要兼容一些老版本的浏览器才这么干的
|
21
tairan2006 150 天前
一般来说是没必要,因为这个场景太简单了…没专门搞个长连接服务
|
22
suchbear 150 天前
我自己网站用的这个,但是因为没有用户,我也不知道这个 websocket 到底如何,哈哈哈
|
![]() |
23
brezp 150 天前
微信多老了,旧的才用轮询吧, 你先开发的那些应用内的聊天室什么的肯定有 websocket 就用 websocket 阿,没觉得有什么高成本的
|
24
hotcool100 150 天前
主要是 websocket 的 session 和 http session 是不同的,如果用 websocket 那么还要做额外的 session 一致性处理等增加一堆代码,相比起来,ajax 多省事。
|
![]() |
25
mywaiting 150 天前 via iPhone
使用 ws 的扫码登录,可以去看一下 whatsapp 的登录实现
使用 ws 并不会更快,而且使用 ws 相当于裸 tcp 层,需要自己实现应用层协议,相对来说,使用 http 更简单 |
![]() |
26
zhouyg 150 天前
用 websocket,投入大的多而回报跟 ajax 基本没差别
|
![]() |
27
a62527776a 150 天前
微信最新版的 web IMSDK 用的就是轮询
|
28
GTim 150 天前
因为性能要求不高,高了反而坏事
|
![]() |
29
metrxqin 149 天前 via Android
WS 需要维持长时间 TCP 连接,服务端开销比较大。
|
![]() |
30
pytth 149 天前
|