1、即時通信php
即時通信(Instant Messaging) 是目前Internet上最爲流行的通信方式,各類各樣的即時通信軟件也層出不窮,服務提供商業提供了愈來愈豐富的通信服務功能。java
XMPP(XML,Messages,Presence,Protocol)是基於可擴展標記語言(XML)的協議,可用於即時通信(IM)。—可擴展消息處理現場協議數據庫
XMPP優勢:
1.開放
XMPP協議是由JSF開源社區組織開發的,不屬於任何的機構和我的,從根本上保證了其開放性。
2.標準
互聯網工程工做組將XMPP於2002年正式列爲承認的實時通信及Presence技術。
3.分佈式的網絡架構
XMPP協議雖然是基於Client/Server架構,可是XMPP協議自己並無這樣的限制,網絡的架構和電子郵件十分類似,但沒有結合任何特定的網絡架構,適用範圍很是普遍。安全
4.XMOO協議具備良好的擴展性
基於XML創建起來的應用具備良好的語義完整性和擴展性服務器
5.XMPP 具備很好的彈性
XMPP除了可用在即時通訊的應用程序,還能用在網絡管理、內容供稿、協同工具、檔案共享、遊戲、遠端系統監控等。網絡
6.安全性架構
XMPP在Client——to——Server通訊和Server-to_Serve通訊中都使用TLS(Trsport Layer Security協議做爲通訊通道的加密方法,保證通訊的安全。併發
XMPP實現即時通信框架
原理
實現即時銅須至少須要一個服務器端、兩個客戶端。
下面咱們準備須要的環境:
一、XMPP服務器 二、XMPP客戶端 (輔助調試)分佈式
XMPP環境搭建
搭建XMPP環境須要幾個輔助工具:
一、XAMPP
XAMPP (Apache +MySQL +php +PERL)是一個功能強大的建XAMPP 軟件站繼承軟件包
許多人經過他們本身的經驗認識到安裝Apache服務器是件不容易的事兒。若是您想添加MySQL、PHP和Perl,那就更難了。XAMPP是一個易於安裝且包含MySQL、PHP和Perl的Apache發行版。XAMPP的確很是容易安裝和使用:只需下載,解壓縮,啓動便可。
搭建XMPP環境須要幾個輔助工具:
二、Openfire()
Openfire採用java開發,開源的實時協做(RTC)服務器基於XMPP(jabber)協議。Openfire安裝和使用都很是簡單,並利用Web進行管理。單臺服務器可支持上萬併發用戶。
Openfire服務是基於JAVA語言寫的,你的電腦必需要有java運行環境。安裝JKD成功後運行Openfire
此時須要建立數據庫以供使用
構建數據庫結束,須要導入表,此時要去openfire文件中獲取須要的文件,位置以下
XMPP客戶端環境搭建
搭建XMPP客戶端使用spake,輔助調試:XMPP 系統的一個設計標準是必須支持簡單的客戶端。事實上,XMPP系統架構對客戶端只有不多的幾個限制。一個XMPP客戶端必須支持的功能有:
1.經過TCP套接自與XMPP服務器進行通訊;
2.解析組織好的XML
信息包;
3.理解消息數據類型
環境配置結束。
工程中添加XMPP
一、建立工程
二、導入XMPP框架
三、引入XMPP須要的依賴庫libxml libresolv
四、設置路徑/uer/include/libxml2
登陸
1.登陸、註冊做爲一個模塊,使用StoryBoard搭建框架
實現單例
在登陸頁面
登陸的.m
註冊頁面代碼