(iOS)基於XMPP協議的簡單IM實現
【 **********************************************************************************
有網友在資源那留言,但是自己無法評論自己的資源,故在此說明:
1、當初只是簡單的學習XMPP,通過自己做了個小Demo來了解其原理,進攻各位初識XMPP的參考
2、伺服器採用了openfire的朋友,遇到了諸如列表無法獲取等問題,我沒試過,會抽時間去實踐下,到時候和大家一起探討,不過還是建議多看看正文前面推薦2位大神的BLOG,先對原理有所認識先~!
3、多謝大家指正,共同探討,一起進步~!嘿嘿~!
********************************************************************************** 】
進入正題前,首先感謝下 和 @kangkangz4 兩位在我學習過程中對我的幫助,正是參見了兩位的Blog,我才完成對XMPP協議的初步學習。
若想了解XMPP協議的簡介,請檢視 的Blog。以下主要講解我如何實現一個基於XMPP的簡單即時聊天Demo。
一、XMPP伺服器
首先我們需要一個XMPP伺服器,在此Demo中,我採用主機作為伺服器來使用。
到 XMPP Servers 下載 ejabberd 這個伺服器。
然後解壓安裝,一步一步的進行既可。當到達填寫伺服器域名時,會有個預設值,即你機子的名字,預設既可,不用更改:
然後就是 管理員使用者名稱的填寫和密碼的填寫,這些值自己填寫後一定要記住
安裝成功後,在安裝目錄下點選執行 start :
注意:執行前,請檢查好自己的網路設定。(我之前老打不開一下介面的網頁,提示錯誤,後來換了個網路就OK,懷疑是因為翻牆的原因)。
點選 admin interface 後,會要求輸入使用者名稱 (格式: 管理員名 @ 伺服器域名.local )和密碼。然後進入到伺服器管理介面。
點選 虛擬主機,你會看到一個列表,點選主機列下的伺服器域名.local連線,會展開左側的列表
點選使用者,你就可以建立幾個使用者,便於之後的資料互動。
以上就是伺服器的搭建。下面簡單講解下客戶端。
二、XMPP客戶端
這裡說的客戶端,當然不是我們稍後會講的基於xmpp framework實現的Demo,而是將和我們Demo互動資訊的另一方客戶端。請到 下載 Adium 這個伺服器(當然,你也可以選擇其他的客戶端,只要支援Mac OS X 既可。
下載後按提示一步一步安裝既可。注:你可以新增賬號,選擇XMPP型別,輸入完整的賬號及密碼,你可以新增多個剛剛你在伺服器上建立的使用者,同時,你可以選擇聯絡人來互設好友,便於之後的資料互動。
三、基於XMPP協議的簡單 IM 實現
2、新建一個專案,將以下檔案加入工程中,記住選擇Copy
加入所需框架,如下,並設定好路徑:
關於程式碼的解釋,望見諒,詳見 原始碼 ,程式碼結構沒怎麼優化,忘見諒。
最後的效果圖如下:
初步學習XMPP,有不足之處望指點~!