<form id="dlljd"></form>
        <address id="dlljd"><address id="dlljd"><listing id="dlljd"></listing></address></address>

        <em id="dlljd"><form id="dlljd"></form></em>

          <address id="dlljd"></address>
            <noframes id="dlljd">

              聯系我們 - 廣告服務 - 聯系電話:
              您的當前位置: > 關注 > > 正文

              世界視訊!微信掃碼登錄過程解析:polling與longpolling

              來源:CSDN 時間:2023-03-24 07:47:19


              【資料圖】

              微信掃碼登錄過程1,用戶在瀏覽器端訪問網頁:https:wx.qq.com/ 頁面中出現下面的二維碼 2,用戶拿著已經登錄成功的移動端(手機)掃碼該二維碼 3,瀏覽器中獲取到移動端已經登錄的賬號信息(包括頭像),并且在網頁版中進行了顯示頭像如下圖所示 4,在手機端點擊網頁版微信的登錄確認,瀏覽器端登錄網頁版微信成功. 掃碼登錄過程解析1:當網頁端打開https://wx.qq.com/時,其實是瀏覽器與微信服務器建立了一個連接,二維碼中包含了一個可唯一識別的字符串成為uuid(注意,不是uid,user Id,因為此時的二維碼并沒有用戶的任何信息).二維碼其實是一個鏈接,當我們使用其它掃碼工具進行解析時,可以得到類似以下這樣的鏈接:

              后邊的就是唯一識別碼uuid,其實這是一個登陸請求鏈接。 2:當一個可以與微信服務器進行交互的(已經登錄)的客戶端掃碼該二維碼時,客戶端獲得了該二維碼中的uuid,并且與自身的賬號進行綁定。 3:瀏覽器端獲取了客戶端已經登錄的賬號信息,并且進行顯示(頭像),繼續等待客戶端點擊確認登錄 4:客戶端點擊確認登錄,將uuid+賬號信息發送到微信服務器,微信服務器收到之后根據uuid找到該瀏覽器端的訪問請求頁面并且給出了訪問令牌Token,隨后網頁版微信登錄成功,可以進行信息交互了。 polling 與long polling的區別當瀏覽器端與服務器建立連接之后,一般有兩種方式可以獲取到服務器的更新信息,即polling和long polling。 polling即輪詢,是指瀏覽器通過周期性輪詢,查看服務器是否有更新的信息; long polling指的是長輪詢,瀏覽器與服務器建立連接之后,服務器將此連接進行掛起,但有更新信息時,再將信息發送給瀏覽器端。瀏覽器端重新建立連接,如此循環反復,這是一種長連接的方式。

              借用一個比較形象的例子: 傳統的polling一般是由C向S詢問:“有我的信件嗎?”。S接到詢問之后,會立即查詢,并且把查詢結果告訴C,不管有沒有C的信件,要么回復:“嗯,你有X封信?!?,要么回復:“沒,沒有你的信”。

              而Long Polling更像是這樣,C向S發出詢問:“有我的信件嗎?”,S開始查詢,如果有則回復C:“嗯,有你x封信”。如果沒有,則不作任何回復,而是讓C等著,自己一遍一遍地查詢是否有訂閱者的信。換句話說:當S收到C的查詢請求之后,Polling則只查詢一次,并且把查詢結果告訴C;而Long Polling收到請求之后,則會一遍一遍地查詢,直到有消息才會響應C,不然一直hold Client。

              優缺點分析: 輪詢:客戶端定時向服務器發送Ajax請求,服務器接到請求后馬上返回響應信息并關閉連接。 優點:后端程序編寫比較容易。 缺點:請求中有大半是無用,浪費帶寬和服務器資源。 實例:適于小型應用。

              長輪詢:客戶端向服務器發送Ajax請求,服務器接到請求后hold住連接,直到有新消息才返回響應信息并關閉連接,客戶端處理完響應信息后再向服務器發送新的請求。 優點:在無消息的情況下不會頻繁的請求,耗費資源小。 缺點:服務器hold連接會消耗資源,返回數據順序無保證,難于管理維護。 實例:WebQQ、Hi網頁版、Facebook IM。

              責任編輯:

              標簽:

              相關推薦:

              精彩放送:

              新聞聚焦
              Top 中文字幕在线观看亚洲日韩