鍍金池/ 問(wèn)答/Java  PHP/ 淘寶,京東登錄頁(yè)掃碼頁(yè)為什么不用socket

淘寶,京東登錄頁(yè)掃碼頁(yè)為什么不用socket

clipboard.png
socket 不是更及時(shí)嗎?

回答
編輯回答
我甘愿

webSocket和ajax掃碼有什么區(qū)別么?

2018年4月6日 09:42
編輯回答
你好胸

他們做這個(gè)平臺(tái)的時(shí)候html5還沒(méi)出來(lái),可能是不想去影響舊的系統(tǒng)吧,犧牲硬件來(lái)減少系統(tǒng)bug,也許是個(gè)更好的選擇。

2017年4月25日 15:04
編輯回答
撥弦

應(yīng)該是兼容性問(wèn)題吧。

2017年11月30日 15:01
編輯回答
青檸

應(yīng)該是通信流程

2017年9月18日 19:31
編輯回答
拮據(jù)

此處默認(rèn)你說(shuō)的socket為webSocket,因?yàn)闆](méi)必要做那么麻煩啊。

ajax 掃碼登陸

  1. 用戶 A 訪問(wèn)服務(wù)器,服務(wù)器為這個(gè)會(huì)話生成一個(gè)全局唯一的ID并生成二維碼,此時(shí)系統(tǒng)并不知道訪問(wèn)者是誰(shuí)。
  2. 用戶 A 打開自己的手機(jī)掃描這個(gè)二維碼并確認(rèn)登錄。
  3. 手機(jī)上將賬戶信息和 ID 一起提交到服務(wù)器
  4. 服務(wù)器將這個(gè) ID 和用戶 A 的綁定在一起,并通知網(wǎng)頁(yè)(這里的是網(wǎng)頁(yè)向服務(wù)器詢問(wèn)是否登陸成功),這個(gè) ID 對(duì)應(yīng)的賬戶為用戶 A,網(wǎng)頁(yè)加載用戶 A 的微信信息,至此,掃碼登錄全部流程完成。

webSocket 掃碼登陸

  1. 用戶 A 訪問(wèn)服務(wù)器,服務(wù)器為這個(gè)會(huì)話生成一個(gè)全局唯一的ID并生成二維碼,此時(shí)系統(tǒng)并不知道訪問(wèn)者是誰(shuí),并且與網(wǎng)頁(yè)建立起webSocket連接。
  2. 用戶 A 打開自己的手機(jī)掃描這個(gè)二維碼并確認(rèn)登錄。
  3. 手機(jī)上將賬戶信息和 ID 一起提交到服務(wù)器
  4. 服務(wù)器將這個(gè) ID 和用戶 A 的綁定在一起,并通知網(wǎng)頁(yè)(webSocket向網(wǎng)頁(yè)發(fā)送消息),這個(gè) ID 對(duì)應(yīng)的賬戶為用戶 A,網(wǎng)頁(yè)加載用戶 A 的微信信息,至此,掃碼登錄全部流程完成,webSocket關(guān)閉。
2017年9月16日 09:22