原创 微信團隊披露:微信界面卡死超級bug“15。。。。”的來龍去脈 頂 原

1、微信超級Bug 大家好,給大家介紹一下,這是Bug: 應該有很多Android的用戶熟悉上面這圖。 (本文同步發佈於:http://www.52im.net/thread-1099-1-1.html) 2、事件背景 國慶前幾天,微

原创 微信團隊分享:微信每日億次實時音視頻聊天背後的技術解密 頂 原

本文內容整理自騰訊專家研究員 & 微信視頻技術負責人谷沉沉在 2017 ArchSummit 全球架構師峯會上的技術分享。 1、前言 2012 年 7 月,微信 4.2 版本首次加入了實時音視頻聊天功能,如今已發展了 5 年,在面對億

原创 高性能網絡編程(二):上一個10年,著名的C10K併發連接問題 頂 原

1、前言 對於高性能即時通訊技術(或者說互聯網編程)比較關注的開發者,對C10K問題(即單機1萬個併發連接問題)應該都有所瞭解。“C10K”概念最早由Dan Kegel發佈於其個人站點,即出自其經典的《The C10K problem 

原创 IM消息送達保證機制實現(二):保證離線消息的可靠投遞 頂 原 薦

1、前言 本文的上篇《IM消息送達保證機制實現(一):保證在線實時消息的可靠投遞》中,我們討論了在線實時消息的投遞可以通過應用層的確認、發送方的超時重傳、接收方的去重等手段來保證業務層面消息的不丟不重。 但實時在線投遞針對的是消息收發雙

原创 技術往事:改變世界的TCP/IP協議(珍貴多圖、手機慎點) 頂 原 薦

1、前言 作爲應用層開發人員,接觸最多的網絡協議通常都是傳輸層的TCP(與之同處一層的另一個重要協議是UDP協議),但對於IP協議,對於應用程序員來說更多的印象還是IP地址這個東西,再往深一點也就很難說的清楚。 本文將簡要回故TCP/I

原创 P2P技術如何將實時視頻直播帶寬降低75%? 頂 轉

本文內容來自學霸君資深架構師袁榮喜的技術分享。 1、前言 實時視頻直播經過去年的千播大戰後已經成爲互聯網應用的標配技術,但直播平臺的成本卻一直居高不下,各個平臺除了挖主播、挖網紅以外,其背後高額的帶寬費用也是他們最大的一塊成本。 現

原创 爲什麼說基於TCP的移動端IM仍然需要心跳保活? 頂 原

1、前言 很多人認爲,TCP協議自身先天就有KeepAlive機制,爲何基於它的通訊鏈接,仍然需要在應用層實現額外的心跳保活?本文將從移動端IM實踐的角度告訴你,即使使用的是TCP協議,應用層的心跳保活仍舊必不可少。 有關TCP協議的權

原创 簡述移動端IM開發的那些坑:架構設計、通信協議和客戶端 頂 原

1、前言 有過移動端開發經歷的開發者都深有體會:移動端IM的開發,與傳統PC端IM有很大的不同,尤其無線網絡的不可靠性、移動端硬件設備資源的有限性等問題,導致一個完整的移動端IM架構設計和實現都充滿着大量的挑戰。本文將簡述移動端IM最重要

原创 如約而至:微信自用的移動端IM網絡層跨平臺組件庫Mars已正式開源 頂 原 薦

1、前言 關於微信內部正在使用的網絡層封裝庫Mars開源的消息,1個多月前就已滿天飛(參見《微信Mars:微信內部正在使用的網絡層封裝庫,即將開源》),不過微信團隊沒有失約,微信Mars 於2016年12月28日正式公開源碼(源碼地址:h

原创 新手入門一篇就夠:從零開發移動端IM 頂 原

一、前言 IM發展至今,已是非常重要的互聯網應用形態之一,尤其移動互聯網時代,它正以無與論比的優勢降低了溝通成本和溝通代價,對各種應用形態產生了深遠影響。 做爲IM開發者或即將成爲IM開發者的技術人員,IM的價值和重要性不言自明。但從技

原创 理論經典:TCP協議的3次握手與4次揮手過程詳解 頂 原 薦

1、前言 儘管TCP和UDP都使用相同的網絡層(IP),TCP卻嚮應用層提供與UDP完全不同的服務。TCP提供一種面向連接的、可靠的字節流服務。 面向連接意味着兩個使用TCP的應用(通常是一個客戶和一個服務器)在彼此交換數據之前必須先建

原创 網絡編程懶人入門(三):快速理解TCP協議一篇就夠 頂 轉

原作者:阮一峯(ruanyifeng.com),本文由即時通訊網重新整理髮布,感謝原作者的無私分享。 1、前言 本系列文章的前兩篇《網絡編程懶人入門(一):快速理解網絡通信協議(上篇)》、《網絡編程懶人入門(二):快速理解網絡通信協議

原创 移動端IM系統的協議選型:UDP還是TCP? 頂 原

1、前言 對於有過網絡編程經驗的開發者來說,使用何種數據傳輸層協議來實現數據的通信,是個非常基礎的問題,它涉及到你的第一行代碼該如何編寫。 從PC時代的IM開始,IM開發者就在爲數據傳輸協議的選型爭論不休(比如:《爲什麼QQ用的是UD

原创 如何選擇即時通訊應用的數據傳輸格式 頂 原

前言 即時通訊應用(包括IM聊天應用、實時消息推送應用等)開發的前期技術選型時,關於數據傳輸格式的選擇,在即時通訊開發者同行的眼裏,是個極富爭議話題。 精略分析一下,大概的原因在於: 可選擇的協議或封裝格式多種多樣: 可選擇的餘地很大

原创 移動端IM開發需要面對的技術問題 頂 原

1、前言 這兩年多一直從事網易雲信 iOS 端 IM SDK的開發,期間不斷有兄弟部門的同事和合作伙伴過來問各種技術細節,乾脆統一介紹下一個IM APP的方方面面,包括技術選型(包括通訊方式,網絡連接方式,協議選擇)和常見問題。(原文鏈接