前言:
項(xiàng)目中經(jīng)常用到環(huán)信、融云撵摆、騰訊云的即時(shí)通訊的第三方的SDK伯顶,自己也很好奇這些SDK內(nèi)部的實(shí)現(xiàn)原理,自己閑來(lái)無(wú)事也會(huì)去找一些文檔去了解XMPP搭建即時(shí)通訊的技術(shù)鳖眼,奈何道行太淺黑毅,一直不敢去動(dòng)手做這個(gè)東西。最近公司項(xiàng)目不急钦讳,也就有了時(shí)間去折騰這些東西了矿瘦。
環(huán)境的搭建:
一臺(tái)裝有java環(huán)境的mac
java環(huán)境的安裝包可以自行在網(wǎng)上百度下載枕面。附上百度經(jīng)驗(yàn)鏈接http://jingyan.baidu.com/article/e4d08ffdb7a8050fd2f60df1.html
XAMPP ?配置數(shù)據(jù)庫(kù)和服務(wù)器環(huán)境,百度下載傻瓜式安裝即可缚去。
安裝完成后開(kāi)啟所有服務(wù)膊畴,如MySQL Database 無(wú)法啟動(dòng)在終端中輸入命令行 sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start ?(純手打,可能會(huì)打錯(cuò)病游,懶得去查了唇跨,你輸入如果還是不行就去百度一下吧) 執(zhí)行完成重新開(kāi)啟服務(wù)即可。
開(kāi)啟完畢后點(diǎn)擊 Go To Application 按鈕跳轉(zhuǎn)到網(wǎng)頁(yè)跳轉(zhuǎn)的網(wǎng)頁(yè)衬衬,點(diǎn)擊右上角phpMyAdmin ,我沒(méi)有具體去標(biāo)注具體的點(diǎn)擊按鈕买猖,如下圖
進(jìn)入phpMyAdmin后點(diǎn)擊新建數(shù)據(jù)庫(kù)創(chuàng)建Openfire 數(shù)據(jù)庫(kù), 創(chuàng)建完成后在finder中右鍵前往文件輸入路徑 ?/usr/local/openfire/resources/database回車(chē)會(huì)進(jìn)入文件夾找到?openfire_mysql.sql 文件(注意usr是隱藏文件夾)滋尉,然后拖到桌面?zhèn)溆糜窨亍#ㄟM(jìn)入openfire 文件夾前需要把文件夾修改成讀寫(xiě)狀態(tài),如下圖)
openfire_mysql.sql文件找到以后回到數(shù)據(jù)庫(kù)網(wǎng)頁(yè)狮惜,點(diǎn)擊導(dǎo)入高诺,把openfire_mysql.sql數(shù)據(jù)庫(kù)導(dǎo)入,然后點(diǎn)擊執(zhí)行碾篡,如下圖
Openfire 軟件虱而。附上官網(wǎng)下載地址?http://www.igniterealtime.org/projects/openfire/
下載完成以后安裝(附上無(wú)法啟動(dòng)服務(wù)的解決鏈接http://blog.csdn.net/winer888/article/details/49886281)會(huì)出現(xiàn)第一次安裝后能夠啟動(dòng)服務(wù)器,但是電腦重啟后就無(wú)法啟動(dòng)服務(wù)器开泽,并且報(bào)錯(cuò)牡拇,解決辦法鏈接里有,大致分為兩點(diǎn):安裝更新Java環(huán)境穆律、按照順序在命令行中輸入
1. sudo chmod -R 777 /usr/local/openfire/bin????##來(lái)取得文件夾權(quán)限
a:sudo su
b: cd /usr/local/openfire/bin
c:export JAVA_HOME=$(/usr/libexec/java_home)
d:echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
e:?? cd /usr/local/openfire/bin
f:?? ./openfire.sh
即可解決
安裝完成后在設(shè)置中打開(kāi)會(huì)出現(xiàn)上圖頁(yè)面惠呼,狀態(tài)是Running ?點(diǎn)擊Open Admin Console 按鈕跳轉(zhuǎn)網(wǎng)頁(yè)
選擇中文語(yǔ)言,點(diǎn)擊繼續(xù)
域名修改為本地127.0.0.1(只限本地測(cè)試)點(diǎn)擊繼續(xù)
選擇標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)峦耘,點(diǎn)擊繼續(xù)
選擇MySQL數(shù)據(jù)庫(kù)剔蹋,數(shù)據(jù)庫(kù)URL更換為 ?jdbc:mysql://127.0.0.1:3306/openfire?rewriteBatchedStatements=true ? 用戶名默認(rèn)root,點(diǎn)擊繼續(xù)。openfire是你數(shù)據(jù)庫(kù)的名稱辅髓,127.0.0.1 是你服務(wù)器的IP地址泣崩。點(diǎn)擊繼續(xù)按鈕
輸入郵箱和管理密碼(輸入密碼完成后要記住呀,后期需要登錄的)
設(shè)置完郵箱和密碼后點(diǎn)擊繼續(xù)利朵,如下圖
點(diǎn)擊登錄律想,輸入密碼(希望你們不會(huì)出現(xiàn)忘記密碼的現(xiàn)象)
登錄完成后進(jìn)入管理頁(yè)面,里面會(huì)有服務(wù)器的基本信息绍弟,包括用戶技即、會(huì)話信息、分組等信息樟遣。
PS:到目前為止Openfire環(huán)境算是配置好了而叼,說(shuō)難不難身笤,說(shuō)簡(jiǎn)單也有點(diǎn)麻煩,看你運(yùn)氣嘍葵陵。
是不是感覺(jué)終于把環(huán)境弄好了裝了這么多東西可以寫(xiě)代碼了……但是……接著來(lái)
安裝 spark
??附上下載鏈接https://spark.en.softonic.com/mac/download#downloading我下載時(shí)可慢液荸,不知道是翻墻的緣故還是公司網(wǎng)速不行。
安裝spark過(guò)程中可能會(huì)提醒你需要和Java se6結(jié)合使用脱篙,點(diǎn)擊更多信息里下載就行娇钱。
登錄spark 用戶名和密碼是你在配置openfire是設(shè)置的賬戶密碼登錄完成后刷新openfire頁(yè)面,你會(huì)發(fā)現(xiàn)小人變綠了绊困。(PS:Spark 是為了本機(jī)測(cè)試方便文搂,可以完成添加好友和聊天的測(cè)試)
好了好了……開(kāi)始寫(xiě)代碼了
代碼我接不截圖了,直接附上GitHub鏈接吧:https://github.com/Liangqianyong/XMPP-iOS- ?下載的童鞋麻煩點(diǎn)一下星星哈秤朗。
下面說(shuō)一下配置Xcode環(huán)境的步驟:
當(dāng)你導(dǎo)入XMPP開(kāi)發(fā)包后編譯會(huì)出現(xiàn)報(bào)錯(cuò)煤蹭,我們需要配置一下XMPP運(yùn)行使用的環(huán)境。
1取视、添加靜態(tài)庫(kù)
2硝皂、在Build Settings 中搜索 Header Search Paths ?添加 /usr/include/libxml2
3、現(xiàn)在你在編譯一下作谭,發(fā)現(xiàn)還是會(huì)有報(bào)錯(cuò)稽物,會(huì)提醒你頭文件沒(méi)有找到
解決辦法:新建一個(gè)pch文件,修改為相對(duì)路徑后再pch文件中導(dǎo)入<UIKit/UIKit.h>框架
好了丢早,現(xiàn)在應(yīng)該是沒(méi)有錯(cuò)誤信息了姨裸,接下來(lái)就可以寫(xiě)代碼了秧倾。
由于水平有限怨酝,會(huì)有很多不足的地方,歡迎提出指正那先。
QQ:929245885 ?有問(wèn)題可以聯(lián)系我农猬。