Jack Jiang

          我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
          posts - 502, comments - 13, trackbacks - 0, articles - 1

          導(dǎo)航

          公告


            ① 即時(shí)通訊開(kāi)發(fā)社區(qū)
            地址: 52im.net
            專業(yè)的資料、社區(qū)

            ② 關(guān)注我的公眾號(hào):

            讓技術(shù)不再封閉

            ③ 我的Github
            地址: 點(diǎn)此進(jìn)入
            好代碼,與大家分享
          <2020年3月>
          23242526272829
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(289)

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          60天內(nèi)閱讀排行

          本文原文由作者Amazing10原創(chuàng)發(fā)布于公眾號(hào)業(yè)余碼農(nóng),收錄時(shí)有改動(dòng),感謝原作者的技術(shù)分享。

          1、引言

          某天中午,吃完午飯,攤在自己的躺椅上,想趁吃飽喝足的午后時(shí)間靜靜享受獨(dú)自的靜謐。

           
           

          干點(diǎn)什么好呢?于是單手操作鼠標(biāo)打開(kāi)了一個(gè)陌生而隱秘的網(wǎng)站。正開(kāi)著某個(gè)視頻起勁。。。

          突然瀏覽器彈出了一個(gè)提示:

          請(qǐng)使用微信掃碼登錄賬號(hào),繼續(xù)觀看

          這...

           
           

          但是由于強(qiáng)烈的好奇驅(qū)使,迫于無(wú)奈,只好選擇登錄再繼續(xù)觀看。于是熟練的掏出手機(jī),打開(kāi)微信掃一掃對(duì)準(zhǔn)上面的二維碼,只聽(tīng)見(jiàn) “叮” 的一聲,網(wǎng)頁(yè)上的二維碼放佛活過(guò)來(lái)了,直接刷新出了本尊的微信頭像,同時(shí)手機(jī)上也彈出登錄的提醒。

           
           

          心中略微驚嘆,但沒(méi)來(lái)得及多想。忙點(diǎn)擊手機(jī)界面中登錄按鈕。此時(shí)網(wǎng)頁(yè)刷新,恢復(fù)了正常,表示可以繼續(xù)觀看。

          上網(wǎng)沖浪的時(shí)間總是過(guò)得很快,很快就有些疲倦。于是閉上眼睛,腦海中卻浮現(xiàn)出了剛剛微信掃描二維碼,然后登錄網(wǎng)頁(yè)的場(chǎng)景,心中再次驚嘆,并開(kāi)始思考起其中的原理來(lái)。。。

          言歸正傳,本文將以輕松活潑的語(yǔ)言形式,為你分析和講解微信手機(jī)掃碼登錄的技術(shù)原理,希望在你的IM中開(kāi)發(fā)此功能時(shí)有所啟發(fā)。

          推薦閱讀:另一篇同類文章《IM的掃碼登錄功能如何實(shí)現(xiàn)?一文搞懂主流的掃碼登錄技術(shù)原理》也值得一讀。

          學(xué)習(xí)交流:

          - 即時(shí)通訊/推送技術(shù)開(kāi)發(fā)交流5群:215477170[推薦]

          - 移動(dòng)端IM開(kāi)發(fā)入門文章:《新手入門一篇就夠:從零開(kāi)發(fā)移動(dòng)端IM

          (本文同步發(fā)布于:http://www.52im.net/thread-2941-1-1.html

          2、IM開(kāi)發(fā)干貨系列文章

          本文是系列文章中的第23篇,總目錄如下:

          IM消息送達(dá)保證機(jī)制實(shí)現(xiàn)(一):保證在線實(shí)時(shí)消息的可靠投遞

          IM消息送達(dá)保證機(jī)制實(shí)現(xiàn)(二):保證離線消息的可靠投遞

          如何保證IM實(shí)時(shí)消息的“時(shí)序性”與“一致性”?

          IM單聊和群聊中的在線狀態(tài)同步應(yīng)該用“推”還是“拉”?

          IM群聊消息如此復(fù)雜,如何保證不丟不重?

          一種Android端IM智能心跳算法的設(shè)計(jì)與實(shí)現(xiàn)探討(含樣例代碼)

          移動(dòng)端IM登錄時(shí)拉取數(shù)據(jù)如何作到省流量?

          通俗易懂:基于集群的移動(dòng)端IM接入層負(fù)載均衡方案分享

          淺談移動(dòng)端IM的多點(diǎn)登錄和消息漫游原理

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(一):正確理解前置HTTP SSO單點(diǎn)登錄接口的原理

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(二):如何設(shè)計(jì)大量圖片文件的服務(wù)端存儲(chǔ)架構(gòu)?

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(三):快速理解服務(wù)端數(shù)據(jù)庫(kù)讀寫分離原理及實(shí)踐建議

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(四):正確理解HTTP短連接中的Cookie、Session和Token

          IM群聊消息的已讀回執(zhí)功能該怎么實(shí)現(xiàn)?

          IM群聊消息究竟是存1份(即擴(kuò)散讀)還是存多份(即擴(kuò)散寫)?

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(五):通俗易懂,正確理解并用好MQ消息隊(duì)列

          一個(gè)低成本確保IM消息時(shí)序的方法探討

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(六):數(shù)據(jù)庫(kù)用NoSQL還是SQL?讀這篇就夠了!

          IM里“附近的人”功能實(shí)現(xiàn)原理是什么?如何高效率地實(shí)現(xiàn)它?

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(七):主流移動(dòng)端賬號(hào)登錄方式的原理及設(shè)計(jì)思路

          IM開(kāi)發(fā)基礎(chǔ)知識(shí)補(bǔ)課(八):史上最通俗,徹底搞懂字符亂碼問(wèn)題的本質(zhì)

          IM的掃碼登功能如何實(shí)現(xiàn)?一文搞懂主流應(yīng)用的掃碼登錄技術(shù)原理

          IM要做手機(jī)掃碼登陸?先看看微信的掃碼登錄功能技術(shù)原理》(本文)

          3、原理解析

          微信掃碼登錄現(xiàn)在在日常生活中已經(jīng)是常見(jiàn)不能再常見(jiàn)的場(chǎng)景之一了,但是要知道微信首次公開(kāi)這項(xiàng)功能時(shí),卻是驚艷眾人。移動(dòng)端與PC端以這樣一種巧妙的方式鏈接在了一起,的確是讓人驚嘆。

          以下是一個(gè)典型的微信掃碼登錄全過(guò)程: 

          本來(lái)想在Web版微信上截圖,但掃碼登陸后出現(xiàn)了下面的提示(貌似很多人都碰到過(guò)): 

          好吧,這很微信,反正就是不想讓你好好用,用戶愛(ài)咋咋滴。。。

          如上圖所示,操作過(guò)程如下:

          1)第一步:電腦上打開(kāi)PC端(出現(xiàn)2維碼);

          2)第二步:拿出手機(jī),掃碼2維碼;

          3)第三步:PC端顯示掃碼成功;

          4)第四步:手機(jī)端“確認(rèn)”登錄;

          5)第五步:成功登陸PC端。

          上述實(shí)際操作過(guò)程,用戶體驗(yàn)相當(dāng)順滑,也難怪剛出來(lái)那會(huì),能驚艷到很多人。

          那么,對(duì)于上述操作過(guò)程的技術(shù)實(shí)現(xiàn)原理是什么樣的呢?

          想起來(lái)之前聽(tīng)過(guò)的前后端的概念,知道賬戶的數(shù)據(jù)信息一般都是放在服務(wù)器上,前端負(fù)責(zé)向后端 “討要數(shù)據(jù)” 并顯示,后端則是對(duì)前端的 “討要” 做出反應(yīng)。

          這樣一來(lái),猜測(cè)微信登錄的過(guò)程可能就是:

          1)網(wǎng)頁(yè)前端向微信后臺(tái)請(qǐng)求賬號(hào)數(shù)據(jù);

          2)微信后臺(tái)接受網(wǎng)頁(yè)前端的請(qǐng)求,然后將他的賬號(hào)數(shù)據(jù)返回;

          3)網(wǎng)頁(yè)前端接收到了數(shù)據(jù)后,在瀏覽器里進(jìn)行顯示。

          于是,手腳麻利的畫了個(gè)示意圖:

          當(dāng)我正準(zhǔn)備沾沾自喜的時(shí)候,突然看到桌面上的手機(jī)。咦,如果就只是這么個(gè)過(guò)程,那手機(jī)的作用是啥。于是才開(kāi)始意識(shí)到,問(wèn)題沒(méi)這么簡(jiǎn)單。

          好吧,我們城要再深入一點(diǎn)探秘微信掃碼登錄的過(guò)程。

          4、過(guò)程分析

          為了更深入的分析整個(gè)過(guò)程,我們可以去看看微信網(wǎng)頁(yè)版,地址是:https://wx.qq.com/。

           

          筆者看著網(wǎng)頁(yè)中碩大的二維碼陷入了沉思——這個(gè)二維碼跟手機(jī)賬號(hào)有沒(méi)有什么對(duì)應(yīng)關(guān)系呢?如果沒(méi)有,那它又是怎么生成的呢?

          思考間,于是打開(kāi)了瀏覽器的開(kāi)發(fā)者工具。

          在網(wǎng)絡(luò)監(jiān)控一覽找到了這幅二維碼,與之對(duì)應(yīng)的鏈接是:

          https://login.weixin.qq.com/qrcode/gaO8cOQweA==

          如下圖所示:

          然后習(xí)慣性地,嘗試多次刷新頁(yè)面,發(fā)現(xiàn)二維碼不斷發(fā)生變化,鏈接也不斷更改:

          https://login.weixin.qq.com/qrcode/AencxgKNFQ==

          https://login.weixin.qq.com/qrcode/YcD7f_DxvA==

          https://login.weixin.qq.com/qrcode/QblN8lCn2g==

          似乎發(fā)現(xiàn)了些東西:二維碼不斷變化,其對(duì)應(yīng)的鏈接尾的代碼也相應(yīng)變化,并且是隨機(jī)性的變化。

          這也就是說(shuō),每一次頁(yè)面刷新都會(huì)隨機(jī)且唯一地生成一個(gè)二維碼。這或許可以與手機(jī)登錄的過(guò)程聯(lián)系起來(lái)。

          似乎開(kāi)始明白了,于是再次拿起手機(jī),熟練的使用微信掃描了此時(shí)的二維碼。

          “叮” 的一聲,網(wǎng)頁(yè)上的二維碼頓時(shí)變成了我?guī)洑獾奈⑿蓬^像。這個(gè)時(shí)候,我才突然意識(shí)到,是掃碼之后網(wǎng)頁(yè)才與他的微信賬號(hào)建立起了聯(lián)系。

          如下圖所示: 

          也就是說(shuō):

          1)沒(méi)有掃碼之前,頁(yè)面上的二維碼只是隨機(jī)生成的且與用戶無(wú)關(guān)的碼;

          2)而當(dāng)用戶掃碼之后,二維碼便與用戶帳號(hào)綁定在了一起。

          原來(lái)手機(jī)掃碼的用處是這樣!

          此時(shí)注意到,手機(jī)微信上彈出了『微信登錄確認(rèn)』的提醒。這個(gè)時(shí)候謹(jǐn)慎地點(diǎn)擊了下方的登錄按鈕。

          如下圖所示: 

          隨著平滑的動(dòng)畫一閃而過(guò),網(wǎng)頁(yè)上已經(jīng)顯示出了我的微信賬號(hào)信息,顯示微信賬號(hào)已經(jīng)登錄。再一次體驗(yàn)這個(gè)過(guò)程,心中開(kāi)始思索手機(jī)微信在登錄過(guò)程中所起到的具體作用。

          首先需要明白幾個(gè)過(guò)程:

          1)進(jìn)入網(wǎng)頁(yè)登陸界面,隨機(jī)生成一個(gè)二維碼;

          2)通過(guò)手機(jī)掃描二維碼,將微信賬號(hào)與二維碼綁定;

          3)在手機(jī)微信點(diǎn)擊登錄按鈕,授權(quán)網(wǎng)頁(yè)登錄微信賬號(hào);

          4)網(wǎng)頁(yè)獲得的賬號(hào)信息,將數(shù)據(jù)顯示。

          5、原理解釋

          回顧上述過(guò)程,結(jié)合最開(kāi)始的原理猜測(cè),開(kāi)始思索整個(gè)環(huán)節(jié),是哪里理解的不對(duì)。。。

          1)網(wǎng)頁(yè)的二維碼到底從何而來(lái)?

          2)是誰(shuí)向微信后臺(tái)請(qǐng)求了賬號(hào)數(shù)據(jù)?

          實(shí)際上:不同的網(wǎng)站可能都需要通過(guò)微信后臺(tái)進(jìn)行數(shù)據(jù)的獲取,那么每一個(gè)網(wǎng)站必然也存在它的后臺(tái)來(lái)給微信后臺(tái)發(fā)送請(qǐng)求。

          這樣一來(lái),整個(gè)過(guò)程就能解釋得通了:

          1)網(wǎng)站頁(yè)面刷新,網(wǎng)頁(yè)后臺(tái)向微信后臺(tái)請(qǐng)求授權(quán)登錄;

          2)微信后臺(tái)返回登錄所需二維碼;

          3)用戶通過(guò)手機(jī)掃描二維碼,并在手機(jī)上授權(quán)登錄后,微信后臺(tái)告知網(wǎng)頁(yè)后臺(tái)已授權(quán);

          4)網(wǎng)頁(yè)后臺(tái)向微信后臺(tái)請(qǐng)求微信賬號(hào)數(shù)據(jù);

          5)微信后臺(tái)返回賬號(hào)數(shù)據(jù);

          6)網(wǎng)頁(yè)后臺(tái)接收數(shù)據(jù)并通過(guò)瀏覽器顯示;

          6、技術(shù)剖析

          正如上節(jié)所述,想清楚了整個(gè)過(guò)程后,我們應(yīng)該對(duì)整個(gè)過(guò)程的技術(shù)實(shí)現(xiàn)進(jìn)行進(jìn)一步的探究。

          在微信開(kāi)發(fā)官方文檔中,我找到了第三方網(wǎng)站應(yīng)用微信登錄開(kāi)發(fā)指南:

          https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

          我將整個(gè)過(guò)程梳理了一遍,畫出了這個(gè)圖: 

          如上圖所示,整個(gè)技術(shù)實(shí)現(xiàn)如下。

          (1)二維碼的獲得:

          • 1)用戶打開(kāi)網(wǎng)站后,網(wǎng)站后臺(tái)根據(jù)微信OAuth2.0協(xié)議向微信開(kāi)發(fā)平臺(tái)請(qǐng)求授權(quán)登錄,并傳遞事先在微信開(kāi)發(fā)平臺(tái)中審核通過(guò)的AppID和AppSecrect等參數(shù);
          • 2)微信開(kāi)發(fā)平臺(tái)對(duì)AppID等參數(shù)進(jìn)行驗(yàn)證,并向網(wǎng)站后臺(tái)返回二維碼;
          • 3)網(wǎng)站后臺(tái)將二維碼傳送至網(wǎng)站前端進(jìn)行顯示。

          (2)微信客戶端授權(quán)登錄:

          • 1)用戶使用微信客戶端掃描二維碼并授權(quán)登錄;
          • 2)微信客戶端將二維碼特定的uid與微信賬號(hào)綁定,傳送至微信開(kāi)發(fā)平臺(tái);
          • 3)微信開(kāi)發(fā)平臺(tái)驗(yàn)證綁定數(shù)據(jù),調(diào)用網(wǎng)站后臺(tái)的回調(diào)接口,發(fā)送授權(quán)臨時(shí)票據(jù)code;

          (3)網(wǎng)站后臺(tái)請(qǐng)求數(shù)據(jù):

          • 1)網(wǎng)站后臺(tái)接收到code,表明微信開(kāi)發(fā)平臺(tái)同意數(shù)據(jù)請(qǐng)求;
          • 2)網(wǎng)站后臺(tái)根據(jù)code參數(shù),再加上AppID和AppSecret請(qǐng)求微信開(kāi)發(fā)平臺(tái)換取access_token;
          • 3)微信開(kāi)發(fā)平臺(tái)驗(yàn)證參數(shù),并返回access_token;
          • 4)網(wǎng)站后臺(tái)收到access_token后即可進(jìn)行參數(shù)分析獲得用戶賬號(hào)數(shù)據(jù)。

          在上述過(guò)程中,有幾個(gè)參數(shù)值得解釋一下(來(lái)源官方文檔):

          • 1)AppID:應(yīng)用唯一標(biāo)識(shí),在微信開(kāi)放平臺(tái)提交應(yīng)用審核通過(guò)后獲得;
          • 2)AppSecret:應(yīng)用密鑰,在微信開(kāi)放平臺(tái)提交應(yīng)用審核通過(guò)后獲得;
          • 3)code:授權(quán)臨時(shí)票據(jù),第三方通過(guò)code進(jìn)行獲取access_token的時(shí)候需要用到,code的超時(shí)時(shí)間為10分鐘,一個(gè)code只能成功換取一次access_token即失效。code的臨時(shí)性和一次性保障了微信授權(quán)登錄的安全性。

          整個(gè)過(guò)程從網(wǎng)站后臺(tái)向微信開(kāi)發(fā)平臺(tái)請(qǐng)求授權(quán)登錄開(kāi)始,最終目的是為了獲得access_token:

          access_token:用戶授權(quán)第三方應(yīng)用發(fā)起接口調(diào)用的憑證

          在獲得了access_token后就可以解析用戶的一些基本信息,包括頭像、用戶名、性別、城市等。這樣一來(lái),整個(gè)微信掃描登錄的過(guò)程就完成了。

          7、寫在最后

          研究到這,終于大體上對(duì)微信掃碼登錄的整個(gè)過(guò)程有了清晰的認(rèn)知??雌饋?lái)似乎也不難,開(kāi)發(fā)者只需要在網(wǎng)頁(yè)后端做好對(duì)微信公眾平臺(tái)的接口調(diào)用即可實(shí)現(xiàn)掃碼登錄。

          伸了伸懶腰,忽然又想到在整個(gè)過(guò)程中還需要考慮超時(shí)的問(wèn)題。比如二維碼超時(shí)未掃描、二維碼掃描后超時(shí)授權(quán)、獲得access_token后超時(shí)等等問(wèn)題。

          我發(fā)現(xiàn)一個(gè)簡(jiǎn)單的功能實(shí)現(xiàn)起來(lái)還是需要考慮許多細(xì)節(jié),真的是紙上得來(lái)終覺(jué)淺呀。于是我下定決心,下次得少上網(wǎng)沖浪了,花點(diǎn)時(shí)間搭個(gè)服務(wù)器先把微信掃碼登錄過(guò)程實(shí)現(xiàn)看看。

          不過(guò),還得先去在微信開(kāi)放平臺(tái)注冊(cè)開(kāi)發(fā)者帳號(hào),并擁有一個(gè)已審核通過(guò)的網(wǎng)站應(yīng)用,并獲得相應(yīng)的AppID和AppSecret才行。

          想了想,還是讓我先趟一會(huì)兒吧。。。

           

          附錄:更多IM開(kāi)發(fā)相關(guān)文章

          [1] IM開(kāi)發(fā)熱門文章:

          新手入門一篇就夠:從零開(kāi)發(fā)移動(dòng)端IM

          移動(dòng)端IM開(kāi)發(fā)者必讀(一):通俗易懂,理解移動(dòng)網(wǎng)絡(luò)的“弱”和“慢”

          移動(dòng)端IM開(kāi)發(fā)者必讀(二):史上最全移動(dòng)弱網(wǎng)絡(luò)優(yōu)化方法總結(jié)

          從客戶端的角度來(lái)談?wù)勔苿?dòng)端IM的消息可靠性和送達(dá)機(jī)制

          現(xiàn)代移動(dòng)端網(wǎng)絡(luò)短連接的優(yōu)化手段總結(jié):請(qǐng)求速度、弱網(wǎng)適應(yīng)、安全保障

          騰訊技術(shù)分享:社交網(wǎng)絡(luò)圖片的帶寬壓縮技術(shù)演進(jìn)之路

          小白必讀:閑話HTTP短連接中的Session和Token

          移動(dòng)端IM開(kāi)發(fā)需要面對(duì)的技術(shù)問(wèn)題

          開(kāi)發(fā)IM是自己設(shè)計(jì)協(xié)議用字節(jié)流好還是字符流好?

          請(qǐng)問(wèn)有人知道語(yǔ)音留言聊天的主流實(shí)現(xiàn)方式嗎?

          通俗易懂:基于集群的移動(dòng)端IM接入層負(fù)載均衡方案分享

          微信對(duì)網(wǎng)絡(luò)影響的技術(shù)試驗(yàn)及分析(論文全文)

          即時(shí)通訊系統(tǒng)的原理、技術(shù)和應(yīng)用(技術(shù)論文)

          開(kāi)源IM工程“蘑菇街TeamTalk”的現(xiàn)狀:一場(chǎng)有始無(wú)終的開(kāi)源秀

          QQ音樂(lè)團(tuán)隊(duì)分享:Android中的圖片壓縮技術(shù)詳解(上篇)

          QQ音樂(lè)團(tuán)隊(duì)分享:Android中的圖片壓縮技術(shù)詳解(下篇)

          騰訊原創(chuàng)分享(一):如何大幅提升移動(dòng)網(wǎng)絡(luò)下手機(jī)QQ的圖片傳輸速度和成功率

          騰訊原創(chuàng)分享(二):如何大幅壓縮移動(dòng)網(wǎng)絡(luò)下APP的流量消耗(上篇)

          騰訊原創(chuàng)分享(三):如何大幅壓縮移動(dòng)網(wǎng)絡(luò)下APP的流量消耗(下篇)

          如約而至:微信自用的移動(dòng)端IM網(wǎng)絡(luò)層跨平臺(tái)組件庫(kù)Mars已正式開(kāi)源

          基于社交網(wǎng)絡(luò)的Yelp是如何實(shí)現(xiàn)海量用戶圖片的無(wú)損壓縮的?

          騰訊技術(shù)分享:騰訊是如何大幅降低帶寬和網(wǎng)絡(luò)流量的(圖片壓縮篇)

          騰訊技術(shù)分享:騰訊是如何大幅降低帶寬和網(wǎng)絡(luò)流量的(音視頻技術(shù)篇)

          字符編碼那點(diǎn)事:快速理解ASCII、Unicode、GBK和UTF-8

          全面掌握移動(dòng)端主流圖片格式的特點(diǎn)、性能、調(diào)優(yōu)等

          子彈短信光鮮的背后:網(wǎng)易云信首席架構(gòu)師分享億級(jí)IM平臺(tái)的技術(shù)實(shí)踐

          微信技術(shù)分享:微信的海量IM聊天消息序列號(hào)生成實(shí)踐(算法原理篇)

          自已開(kāi)發(fā)IM有那么難嗎?手把手教你自擼一個(gè)Andriod版簡(jiǎn)易IM (有源碼)

          融云技術(shù)分享:解密融云IM產(chǎn)品的聊天消息ID生成策略

          適合新手:從零開(kāi)發(fā)一個(gè)IM服務(wù)端(基于Netty,有完整源碼)

          拿起鍵盤就是干:跟我一起徒手開(kāi)發(fā)一套分布式IM系統(tǒng)

          >> 更多同類文章 …… 

          [2] 有關(guān)WEB端即時(shí)通訊開(kāi)發(fā):

          新手入門貼:史上最全Web端即時(shí)通訊技術(shù)原理詳解

          Web端即時(shí)通訊技術(shù)盤點(diǎn):短輪詢、Comet、Websocket、SSE

          SSE技術(shù)詳解:一種全新的HTML5服務(wù)器推送事件技術(shù)

          Comet技術(shù)詳解:基于HTTP長(zhǎng)連接的Web端實(shí)時(shí)通信技術(shù)

          新手快速入門:WebSocket簡(jiǎn)明教程

          WebSocket詳解(一):初步認(rèn)識(shí)WebSocket技術(shù)

          WebSocket詳解(二):技術(shù)原理、代碼演示和應(yīng)用案例

          WebSocket詳解(三):深入WebSocket通信協(xié)議細(xì)節(jié)

          WebSocket詳解(四):刨根問(wèn)底HTTP與WebSocket的關(guān)系(上篇)

          WebSocket詳解(五):刨根問(wèn)底HTTP與WebSocket的關(guān)系(下篇)

          WebSocket詳解(六):刨根問(wèn)底WebSocket與Socket的關(guān)系

          socket.io實(shí)現(xiàn)消息推送的一點(diǎn)實(shí)踐及思路

          LinkedIn的Web端即時(shí)通訊實(shí)踐:實(shí)現(xiàn)單機(jī)幾十萬(wàn)條長(zhǎng)連接

          Web端即時(shí)通訊技術(shù)的發(fā)展與WebSocket、Socket.io的技術(shù)實(shí)踐

          Web端即時(shí)通訊安全:跨站點(diǎn)WebSocket劫持漏洞詳解(含示例代碼)

          開(kāi)源框架Pomelo實(shí)踐:搭建Web端高性能分布式IM聊天服務(wù)器

          使用WebSocket和SSE技術(shù)實(shí)現(xiàn)Web端消息推送

          詳解Web端通信方式的演進(jìn):從Ajax、JSONP 到 SSE、Websocket

          MobileIMSDK-Web的網(wǎng)絡(luò)層框架為何使用的是Socket.io而不是Netty?

          理論聯(lián)系實(shí)際:從零理解WebSocket的通信原理、協(xié)議格式、安全性

          微信小程序中如何使用WebSocket實(shí)現(xiàn)長(zhǎng)連接(含完整源碼)

          八問(wèn)WebSocket協(xié)議:為你快速解答WebSocket熱門疑問(wèn)

          快速了解Electron:新一代基于Web的跨平臺(tái)桌面技術(shù)

          一文讀懂前端技術(shù)演進(jìn):盤點(diǎn)Web前端20年的技術(shù)變遷史

          Web端即時(shí)通訊基礎(chǔ)知識(shí)補(bǔ)課:一文搞懂跨域的所有問(wèn)題!

          >> 更多同類文章 ……

          (本文同步發(fā)布于:http://www.52im.net/thread-2941-1-1.html



          作者:Jack Jiang (點(diǎn)擊作者姓名進(jìn)入Github)
          出處:http://www.52im.net/space-uid-1.html
          交流:歡迎加入即時(shí)通訊開(kāi)發(fā)交流群 215891622
          討論:http://www.52im.net/
          Jack Jiang同時(shí)是【原創(chuàng)Java Swing外觀工程BeautyEye】【輕量級(jí)移動(dòng)端即時(shí)通訊框架MobileIMSDK】的作者,可前往下載交流。
          本博文 歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處(也可前往 我的52im.net 找到我)。


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 文成县| 三门峡市| 乐亭县| 濮阳县| 垫江县| 邹平县| 太仆寺旗| 临武县| 农安县| 天台县| 弥渡县| 武城县| 沐川县| 定边县| 平安县| 左云县| 石城县| 舒城县| 溧水县| 高邮市| 怀来县| 定襄县| 韩城市| 丹寨县| 射洪县| 武冈市| 高安市| 平谷区| 库尔勒市| 德江县| 邢台市| 德庆县| 延庆县| 兴宁市| 平泉县| 四平市| 天等县| 英吉沙县| 黑河市| 谷城县| 湟源县|