1.什么是服務(wù)器
2.什么是服務(wù)
3.什么是客戶端
4.服務(wù)器和客戶端是怎樣進(jìn)行數(shù)據(jù)通信的
5.XMPP協(xié)議可以通過(guò)在服務(wù)器上安裝OpenFire軟件啟動(dòng)服務(wù)
6.OpenFire安裝成功后的一個(gè)配置過(guò)程
7.XMPP協(xié)議在IOS客戶端如何去實(shí)現(xiàn)
8.IOS平臺(tái)可以實(shí)現(xiàn)XMPP協(xié)議中的哪些功能弓候,比如注冊(cè)恩急,登錄顿颅,聊天卿啡,離線消息,添加好友,刪除好友等
每個(gè)人的電腦都可以是服務(wù)器,只要它提供了服務(wù)的功能捺氢,就可以稱之為服務(wù)器。
那服務(wù)可以分很多種剪撬, 電腦可以提供很多服務(wù)摄乒,比如郵件服務(wù)。
這個(gè)服務(wù)是通過(guò)什么方式由服務(wù)器往外傳遞的呢婿奔?
我們?cè)谥v線程的時(shí)候缺狠,操作系統(tǒng)要為每一個(gè)應(yīng)用程序分配一個(gè)進(jìn)程,那操作系統(tǒng)是如何管理這些進(jìn)程的呢萍摊?進(jìn)程號(hào)對(duì)吧,每一個(gè)進(jìn)程都有一個(gè)進(jìn)程號(hào)如叼。
那我們服務(wù)器怎樣管理它這么多的服務(wù)呢冰木?
他也要區(qū)分出來(lái),他是通過(guò)電腦上有一個(gè)端口號(hào)一一的往外散發(fā)服務(wù)
客戶端是要使用服務(wù)器的服務(wù)笼恰,只要使用了踊沸,那就是客戶端,我們自己的電腦可以作為我們自己的服務(wù)器社证,也可以作為自己的客戶端逼龟。
服務(wù)器和客戶端之間是通過(guò)一些協(xié)議來(lái)進(jìn)行數(shù)據(jù)通信的,比如HTTP協(xié)議追葡,在IOS平臺(tái)他得實(shí)現(xiàn)方式HTTP可以作為一種方式進(jìn)行數(shù)據(jù)傳遞腺律。
那什么是XMPP呢?
XMPP協(xié)議可以作為即時(shí)通訊聊天的一種常見(jiàn)的協(xié)議宜肉,開(kāi)源的協(xié)議匀钧。
XMPP協(xié)議是基于XML結(jié)構(gòu)的點(diǎn)對(duì)點(diǎn)即時(shí)通訊。
首先谬返,我們需要安裝一個(gè)Openfire之斯,fire是一個(gè)XMPP協(xié)議的服務(wù)器實(shí)現(xiàn)開(kāi)源框架
安裝Openfire我們需要先下載安裝一個(gè)JavaForOS X,否則我們無(wú)法打開(kāi)Openfire
安裝Openfire后遣铝,我們要安裝XMPP
部署完畢以后佑刷,我們使用瀏覽器打開(kāi)127.0.0.1:9090
選擇中文服務(wù)
進(jìn)入服務(wù)器設(shè)置頁(yè)面
域名是管理控制臺(tái)的端口莉擒,域名分為兩種,一種是本地訪問(wèn)瘫絮,我們?cè)O(shè)置為127.0.0.1就行
如果想要用于外網(wǎng)訪問(wèn)啰劲,那么需要寫成外網(wǎng),然后我們點(diǎn)繼續(xù)
進(jìn)入數(shù)據(jù)庫(kù)設(shè)置頁(yè)面
點(diǎn)擊標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)連接檀何,進(jìn)入到標(biāo)準(zhǔn)連接頁(yè)面
這里需要我們先去創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)蝇裤,這個(gè)數(shù)據(jù)庫(kù)需要我們通過(guò)XMPP去創(chuàng)建
我們打開(kāi)XMPP 點(diǎn)擊 GO TO Application 進(jìn)入XMPP的配置頁(yè)面
點(diǎn)擊phpMyAdmin,進(jìn)入到此頁(yè)面
我們需要?jiǎng)?chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)频鉴,點(diǎn)擊數(shù)據(jù)庫(kù)栓辜,再點(diǎn)擊新建數(shù)據(jù)庫(kù)
然后輸入一個(gè)新的數(shù)據(jù)庫(kù)名字再點(diǎn)擊創(chuàng)建
然后我們導(dǎo)入數(shù)據(jù)庫(kù)
前往文件夾 /usr/local/openfire
這時(shí)我們會(huì)遇到一個(gè)問(wèn)題,我們沒(méi)有權(quán)限打開(kāi)這個(gè)文件夾
我們需要退一步垛孔,到/usr/local文件夾
打開(kāi)周荐,解鎖狭莱,會(huì)出來(lái)三個(gè)選項(xiàng),我們把所有的選項(xiàng)都選成讀與寫
這個(gè)時(shí)候我們就可以進(jìn)入到這個(gè)文件夾內(nèi)部了概作。
進(jìn)入到resources文件夾內(nèi)腋妙,進(jìn)入database后我們可以看到有七個(gè)后綴為sql的數(shù)據(jù)庫(kù)文件
我們把mysql的數(shù)據(jù)庫(kù)文件拷貝到桌面上,回到XMPP的頁(yè)面讯榕,點(diǎn)擊導(dǎo)入骤素,把桌面上的msql文件導(dǎo)入進(jìn)我們創(chuàng)建好的文件夾內(nèi),點(diǎn)擊執(zhí)行
我們導(dǎo)入完成我們的數(shù)據(jù)庫(kù)以后愚屁,回到我們的openfire頁(yè)面
繼續(xù)我們的數(shù)據(jù)庫(kù)設(shè)置济竹,我們之前導(dǎo)入的數(shù)據(jù)文件為mysql的類型
所以在我們選擇數(shù)據(jù)庫(kù)驅(qū)動(dòng)選項(xiàng)的時(shí)候,選擇MySQL霎槐,我們下面有一個(gè)數(shù)據(jù)URL
這條數(shù)據(jù)庫(kù)URL內(nèi)有兩個(gè)字段送浊,一個(gè)是[host-name]和[database-name],
我們需要把第一個(gè)字段換成我們自己的IP127.0.0.1
第二個(gè)字段是不是看起來(lái)很熟悉丘跌,database-name袭景,數(shù)據(jù)庫(kù)名字
我們剛剛在XMPP頁(yè)面創(chuàng)建過(guò)一個(gè)數(shù)據(jù)庫(kù)文件,把那個(gè)名字替換進(jìn)去即可
需要注意的一點(diǎn)是碍岔,我們下面有一個(gè)用戶名和密碼浴讯,有很多同學(xué)會(huì)有好奇心
這個(gè)用戶名和密碼是什么?我們需要自己創(chuàng)建嗎蔼啦?還是已有的賬戶名和密碼呢榆纽?
這里有一個(gè)默認(rèn)的賬戶名為root,如果大家換成自定義的用戶名,就會(huì)給我們報(bào)一個(gè)錯(cuò)誤奈籽,你無(wú)法通過(guò)這個(gè)設(shè)置饥侵,所以我們就只用協(xié)商root就行了,密碼不用填寫
點(diǎn)擊繼續(xù)衣屏,進(jìn)入到特性設(shè)置頁(yè)面選擇第一項(xiàng)后繼續(xù)
進(jìn)入到管理員賬戶頁(yè)面
這個(gè)時(shí)候會(huì)讓我們填寫一個(gè)管理員電子郵件地址
大家不要以為躏升,這個(gè)電子郵件地址是你接下來(lái)的賬戶名,這只是一個(gè)郵件地址而已
下面讓我們重新設(shè)置密碼
我們?cè)O(shè)置一下我們的密碼后繼續(xù)
接下來(lái)進(jìn)入到登錄控制臺(tái)的頁(yè)面狼忱,默認(rèn)的用戶名為admin膨疏,密碼是你剛剛設(shè)置的新密碼
點(diǎn)擊用戶/組,看到我們的小人頭像為灰色的钻弄,我們現(xiàn)在是離線狀態(tài)
那如何上線呢佃却?
我們來(lái)安裝一下spark_2_6_3
安裝完畢后打開(kāi)spark,輸入我們的賬號(hào)和密碼(admin為賬號(hào)窘俺,密碼為自己設(shè)置的密碼)
服務(wù)器設(shè)置為127.0.0.1
登陸成功后饲帅,我們?cè)诜祷匚覀兊膐penfire頁(yè)面重新刷新一次看看
這是我們的用戶頭像就變成了綠色,也就是在線狀態(tài)瘤泪。
到現(xiàn)在為止灶泵,我們的配置就已經(jīng)完成了
XMPP學(xué)習(xí)過(guò)程會(huì)遇到的問(wèn)題
1.OpenFire安裝完成后無(wú)法打開(kāi),原因是少了Java for OS X
直接百度搜索到蘋果官網(wǎng)下載一個(gè)即可
2.導(dǎo)入數(shù)據(jù)庫(kù)的時(shí)候对途,要切換到文件夾/usr/local/openfire
因?yàn)闊o(wú)權(quán)限赦邻,打不開(kāi),只好前往/usr/local界面掀宋,右鍵點(diǎn)擊文件夾深纲,設(shè)置共享與權(quán)限
三個(gè)設(shè)置成讀與寫即可