即時通信(1):XMPP簡介及環(huán)境搭建

什么是即時通信名秀?

  • 即時通訊(Instant Messaging)是目前Internet上最為流行的通訊方式,各種各樣的即時通訊軟件也層出不窮嫡丙,服務(wù)提供商也提供了越來越豐富的通訊服務(wù)功能棺榔。

即時通訊的實現(xiàn)方式授艰?

  • 即時通訊有多種實現(xiàn)方式,例如:XMPP赌渣、環(huán)信魏铅、融云等。本文則對XMPP的使用進行介紹坚芜。

什么是XMPP览芳?

  • XMPP(XML,Messages鸿竖,Presence沧竟,Protocol)是可擴展通訊和表示協(xié)議,基于XML(可擴展標(biāo)記語言)缚忧,可用于即時通信(IM)悟泵。
  • 目前有四種主流IM(即時通訊)協(xié)議:XMPP(可擴展通訊和表示協(xié)議)、IMPP(即時信息和空間協(xié)議)闪水、PPIM(空間和即時信息協(xié)議)糕非、SIMPLE(針對即時通訊和空間平衡擴充的進程開始協(xié)議)。在這四種協(xié)議中球榆,最靈活的就是XMPP朽肥,它是基于XML協(xié)議的,繼承了在XML環(huán)境中靈活的發(fā)展性芜果,因此鞠呈,基于XMPP的應(yīng)用程序具有超強的可擴展性。

XMPP優(yōu)點:

  • 開放:XMPP協(xié)議是由JSF開源社區(qū)組織開發(fā)的右钾,不屬于任何的機構(gòu)和個人蚁吝,所以XMPP是自由旱爆、開放、公開的窘茁,而且易于了解怀伦。在客戶端、服務(wù)器山林、組件房待、源碼庫等方面,都有了多種實現(xiàn)驼抹。
  • 標(biāo)準(zhǔn):互聯(lián)網(wǎng)工程工作組將XMPP于2002年正式列為認(rèn)可的實時通訊及Presence技術(shù)桑孩。
  • 分布式的網(wǎng)絡(luò)架構(gòu):XMPP協(xié)議雖然是Client/Server的通訊模式,但是XMPP協(xié)議本身并沒有這樣的限制框冀。而分布式網(wǎng)絡(luò)是由分布在不同地點且具有多個終端的節(jié)點機互連而成流椒,網(wǎng)絡(luò)中的任意一點均至少與兩條線路相連,當(dāng)任意一條線路發(fā)生故障明也,通信還可經(jīng)其他鏈路完成宣虾,具有較高的可靠性,同時網(wǎng)絡(luò)易于擴充温数。XMPP網(wǎng)絡(luò)架構(gòu)和電子郵件十分相似绣硝,其核心協(xié)議通信方式是先創(chuàng)建一個Stream,然后以TCP傳遞XML數(shù)據(jù)流撑刺,沒有中央服務(wù)器鹉胖,任何人都可以運行自己的XMPP服務(wù)器,使個人或組織能夠掌握他們的實時通訊體驗猜煮。
  • 良好的擴展性:基于XML建立起來的應(yīng)用具有良好的語義完整性和擴展性次员。
  • 應(yīng)用廣泛:XMPP除了可用在即時通信的應(yīng)用程序,還能用在網(wǎng)絡(luò)管理王带、內(nèi)容供稿淑蔚、協(xié)同工具、檔案共享愕撰、游戲刹衫、遠(yuǎn)端系統(tǒng)監(jiān)控等。
  • 安全性:XMPP在Client-to-Server通信和Server-to-Client通信中都使用TLS(Transport Layer Security)協(xié)議作為通信通道的加密方法搞挣,保證通信的安全带迟。

XMPP實現(xiàn)即時通訊

實現(xiàn)即時通訊至少需要一個服務(wù)器端、兩個客戶端囱桨。下面我們準(zhǔn)備需要的環(huán)境:XMPP服務(wù)器仓犬、XMPP客戶端(輔助調(diào)試)

XMPP環(huán)境搭建

搭建XMPP環(huán)境需要幾個輔助工具:

  • XAMPP
    XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的XAMPP軟件站集成軟件包,是一個易于安裝且包含MySQL舍肠、PHP和Perl的Apache發(fā)行版搀继,非常容易安裝和使用窘面,只需下載、解壓縮叽躯、啟動即可财边。
XAMPP1
XAMPP2
XAMPP3
XAMPP4
XAMPP5
XAMPP6
  • Openfire
    Openfire采用Java開發(fā),開源的實時協(xié)作(RTC)服務(wù)器点骑,基于XMPP(Jabber)協(xié)議酣难。其安裝和使用都非常簡單,利用Web進行管理黑滴。單臺服務(wù)器可支持上萬并發(fā)用戶憨募。
    因為Openfire服務(wù)是基于JAVA語言寫的,所以電腦必須要有java運行環(huán)境跷跪。安裝JDK成功后進行Openfire的安裝馋嗜。
Openfire1
Openfire2
Openfire3
Openfire4
Openfire5
Openfire6
Openfire7

此時需要創(chuàng)建數(shù)據(jù)庫以供使用:


Openfire8
Openfire9

創(chuàng)建數(shù)據(jù)庫結(jié)束,需要導(dǎo)入表吵瞻,此時要去openfire文件夾中獲取需要的文件,位置如下:


Openfire10
Openfire11
Openfire12
Openfire13
Openfire14
Openfire15
Openfire16
Openfire17
Openfire18
Openfire19
Openfire20
Openfire21
XMPP客戶端環(huán)境搭建

搭建XMPP客戶端環(huán)境使用spark甘磨,輔助調(diào)試橡羞。XMPP系統(tǒng)的一個設(shè)計標(biāo)準(zhǔn)是必須支持簡單的客戶端。事實上济舆,XMPP系統(tǒng)架構(gòu)對客戶端只有很少的幾個限制卿泽。一個XMPP客戶端必須支持的功能有:

  • 通過TCP套接字與XMPP服務(wù)器進行通信
  • 解析組織好的XML信息包
  • 理解消息數(shù)據(jù)類型
spark1
spark2

環(huán)境配置結(jié)束。

工程中添加XMPP
  • 創(chuàng)建新工程
  • 導(dǎo)入XMPP框架
  • 引入XMPP需要的依賴庫libxml2和libresolv
  • 設(shè)置路徑/usr/include/libxml2
導(dǎo)入XMPP
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末滋觉,一起剝皮案震驚了整個濱河市签夭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌椎侠,老刑警劉巖第租,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異我纪,居然都是意外死亡慎宾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門浅悉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趟据,“玉大人,你說我怎么就攤上這事术健⌒诩睿” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵荞估,是天一觀的道長咳促。 經(jīng)常有香客問我稚新,道長,這世上最難降的妖魔是什么等缀? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任枷莉,我火速辦了婚禮,結(jié)果婚禮上尺迂,老公的妹妹穿的比我還像新娘笤妙。我一直安慰自己,他們只是感情好噪裕,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布蹲盘。 她就那樣靜靜地躺著,像睡著了一般膳音。 火紅的嫁衣襯著肌膚如雪召衔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天祭陷,我揣著相機與錄音苍凛,去河邊找鬼。 笑死兵志,一個胖子當(dāng)著我的面吹牛醇蝴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播想罕,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼悠栓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了按价?” 一聲冷哼從身側(cè)響起惭适,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎楼镐,沒想到半個月后癞志,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡鸠蚪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年今阳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茅信。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡盾舌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蘸鲸,到底是詐尸還是另有隱情妖谴,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站膝舅,受9級特大地震影響嗡载,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仍稀,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一洼滚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧技潘,春花似錦遥巴、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至值桩,卻和暖如春摆霉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奔坟。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工携栋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咳秉。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓刻两,卻偏偏與公主長得像,于是被迫代替她去往敵國和親滴某。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容