xmpp開發IM即時通訊系列(一)--總述

    本人近期研究即時通訊功能,社交元素現在已經滲透到各個領域,無論商城、遊戲、媒體類等app,爲了增加用戶之間的交流,都已經開始加入即時通訊功能,可以說即時通訊在未來的手機商業應用領域是不可或缺的。開博客寫即時通訊系列的文章不是本人首創,很多大牛都有過類似文章,我寫該系列博客的目的:

    一是爲了總結自身,積累經驗;

    二是因爲以前自己在學習過程中拜讀過許多大神的高論,使自己在學習開發的過程中受益良多,並被他們無私的精神所感染,決定分享自己的一些淺薄見識,於同行交流,共同促進進步;

    三是因爲今天是2016年4月9日,現在網上很多資料的內容不是抄襲,就是時間已經久遠,很多開發工具和代碼版本都已經非常老舊,新入行的兄弟拿着新代碼,參考着舊攻略,總會出現各種各樣的問題,另其多走不少彎路。

    綜合以上原因,本人決定,在時間允許的情況下,會持續更新該系列文章;每一篇文章中的操作,均爲我的實際成功操作,所有工具、代碼都是2016年4月9日下載,該系列的操作都是以此爲基準,避免同行在交流時因爲版本差異做無謂的爭執;本文爲純手寫,會參考其他文章內容,但絕不惡意抄襲,不作商業用途,僅供分享交流,作者水平有限,只是抱着學習和交流的心態與大家分享,有錯誤是在所難免的,望各路英雄海涵,有錯多多指正。

    當前,即時通訊開發主要分爲兩種,一是自定義通訊協議開發,這類產品主要用c++服務器,消息形式基於自定義的結構體,效率高,安全應也高,不開源;另一種是XMPP這一類的開源形式組織產生的網絡即時通信協議,XMPP已經被IETF國際標準組織完成了標準化工作,標準化的核心結果分爲兩部分:核心的XML流傳輸協議和基於XML流傳輸的即時通訊擴展應用。由於資源所限,本系列使用開源的xmpp協議來開發即時通訊功能,主要包括以下內容:

    一、即時通訊服務器的搭建

    二、移動客戶端即時通訊功能的實現

    由於網上已經有很多介紹xmpp的文章,本系列更注重實際實現,以下內容不會着重介紹,如各位有興趣可以自行了解:

    一、xmpp的概念

    http://my.oschina.net/cuitongliang/blog/194885 (寫得很詳細)

    二、xmpp的歷史

    以前叫jabber,聽起來好邪惡。。。

    三、xmpp工作原理

所有從一個客戶端到另一個客戶端的xmpp消息都要通過xmpp服務器。
    即:client--server--client

1.客戶端連接到服務器
2.服務器端利用本地目錄系統的證書對其認證
3.客戶端制定目標地址,讓服務器端告知目標狀態
4.服務器端對另一個客戶端進行查找、連接並相互認證
5.相互認證後,兩個客戶端間即可進行交互


    如果再複雜點,要和其他通訊系統交互信息,就需要配置xmpp網關。


    四、PC端的實現

   有現成的spark,至於進一步的開發嘛,等我有空的。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章