日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一幅图片引发的离婚大战

發(fā)布時間:2023/12/8 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一幅图片引发的离婚大战 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文轉(zhuǎn)載自程序員技術(shù)

今天看到這兩幅圖片,不禁哈哈大笑。互聯(lián)網(wǎng)上很多段子或者笑話,其實(shí)最能引起笑果的往往來自于真實(shí)生活,而不是那些為了笑果而編造的段子。

微信真的會因?yàn)榫W(wǎng)絡(luò)不好而造成信息的前后顛倒嗎?

真的會。

為什么呢?

馬化騰說微信就是一個郵箱,只是這個郵箱比較快,讓你感受不到這是一個郵箱,而讓你有一種即時通信的錯覺。

微信這個郵箱是這么來工作的:

Alice登錄微信服務(wù)器,認(rèn)證身份,上線狀態(tài)。這是一個基于TCP的長連接,安全加密。所謂長連接,就是Alice只要不是手機(jī)沒電或者關(guān)機(jī)狀態(tài),這個長連接一直都是運(yùn)行且雙向可以通信的。這個負(fù)責(zé)登錄的服務(wù)器,簡稱登錄服務(wù)器。

Alice給Bob發(fā)了一段文字,“Are you kidding me?”敲回車。這段文字是通過上文的長連接發(fā)送的嗎?

不是的。而是通過一個短連接發(fā)送的,這個短連接是Alice點(diǎn)開Bob頭像才建立的,這是一個 TCP + MMTLS(安全加密)+ http封裝的短連接。

然后這個消息就被短連接以http格式發(fā)出去了。這個消息是直接發(fā)給Bob的嗎?

不是的,而是發(fā)給Bob的郵箱。

Bob的郵箱是在Bob的手機(jī)里、還是微信存儲服務(wù)器里?

微信服務(wù)器。

這樣做有什么好處呢?

假如Bob在飛機(jī)上,手機(jī)關(guān)機(jī),Alice消息依然可以將消息發(fā)出。如果直接發(fā)給Bob手機(jī),手機(jī)都關(guān)機(jī)了,那就壓根無法建立連接,自然連消息都發(fā)不出。當(dāng)然好處還有許多,比如Alice與Bob的手機(jī)都位于NAT設(shè)備的后方,他們之間的直接通信不一定100%成功。

如果Bob是在線狀態(tài),登錄服務(wù)器會第一時間通過TCP長連接,通知Bob微信郵箱里有信,至于這封信存在郵箱的什么地方,這是一個http格式的鏈接。Bob微信會與鏈接所對應(yīng)的存儲服務(wù)器建立短鏈接,將消息下載并顯示到本地窗口,然后關(guān)閉短連接。

如果Bob是離線狀態(tài),微信服務(wù)器其實(shí)也不急的,反正消息呆在存儲服務(wù)器,不會飛的。等Bob下飛機(jī)上線了第一時間通知Bob微信就好了。

以上就是微信的工作流程。接下來講為何微信會發(fā)生消息后發(fā)先至的情況?

微信每次敲完一段文字,點(diǎn)擊“發(fā)送“,這個消息就觸發(fā)了一次:

  • 短連接的建立

  • 消息的傳輸

  • 短連接的斷開

這個是標(biāo)準(zhǔn)的三步曲。當(dāng)你再次發(fā)一段文字時,又觸發(fā)了一次三步曲。兩次的三步曲是相互獨(dú)立的。

在網(wǎng)絡(luò)暢通時,Alice第一個消息很快就發(fā)到Bob的郵箱,并被Bob微信呈現(xiàn)在窗口里。

Alice第二個消息發(fā)出的晚,自然到達(dá)得晚,這是非常好理解的。

但是當(dāng)網(wǎng)絡(luò)不好時,第一個三步曲的消息報文不是那么幸運(yùn),丟了,然后Alice的手機(jī)一直在重傳這個消息。Alice又發(fā)送第二個消息,運(yùn)氣特別好,沒有丟,結(jié)果比第一個消息早到了幾秒。

既然微信講究及時通信,微信會第一時間通知Bob的微信,只是這個消息通知順序,先是第二個消息,然后才是第一個消息。這樣就造成了微信消息時序的顛倒。

最后,每一段消息內(nèi)部文字并沒有顛倒,對嗎?

這就是TCP的功勞,因?yàn)槎踢B接依然使用的是TCP做為傳輸協(xié)議,TCP最擅長做的就是保證每一個字節(jié)按照先后順序到達(dá)。TCP是一個可靠協(xié)議,可以修復(fù)由于網(wǎng)絡(luò)暫時的中斷而造成的字節(jié)丟失。但是如果Alice向Bob郵箱上傳信的時候,網(wǎng)絡(luò)發(fā)生了長時間的中斷,超出了TCP最大修復(fù)時間,這時微信會提示Alice,消息發(fā)送失敗!

總結(jié)

以上是生活随笔為你收集整理的一幅图片引发的离婚大战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。