導讀 | 對於推送,IM服務器,目前可使用一些廠家提供的SDK來實現,可是咱們的老闆又老是擔憂使用別人的SDK,假如別人的服務出現問題,或者別人偷看我們的信息,那豈不是出現很大問題了 |
聊一聊xmpp的服務器openfire和測試客戶端sparkjava
這裏說一下XMPP,我在前幾節說的sdk彙總文章提到的部分推送,IM的SDK提供商用的是XMPP協議,固然也有是本身實現的協議的,例如騰訊。XMPP簡單的來講,就是一個發送與接收之間定義的規則,不過這個協議和咱們傳統的協議有點不一樣,它不是二進制的方式的,也不是字符串的,而是一個XML格式的內容,相信你們都比較熟悉XML,xml的擴展性很是強大,XMPP也繼承了它優良的傳統,使得咱們在通訊中,能夠更加容易定義本身的標誌。
xmpp開源服務器有不少,咱們這裏介紹一下基於XMPP協議的服務器,Openfire。Openfire 是基於Jabber協議(XMPP)實現的即時通訊服務器端版本,使用java來實現的,其官網是:http://www.igniterealtime.org/index.jsp 目前Openfire的版本是4.0.1,它能夠部署在mac,windows和linux系統上。 這裏我就以windows版本的服務器爲例子,在官網下載好openfire後,直接點擊安裝,安裝步驟按照咱們平時安裝軟件那樣就能夠了,這裏提示一點,若是安裝成功後,openfire不會自動啓動的話,那麼 有多是端口被佔用了,xmpp通常使用的端口有522二、5223等,能夠查看一下有沒有被佔用。
若是安裝後,沒有本身啓動的話,能夠嘗試手動點擊start啓動,通常安裝好後須要咱們對服務器進行配置,若是本身彈出了配置頁面的話,能夠跳過這一步,若是沒有的話,能夠點擊 launch admin,如圖
進入配置頁面後,會提示咱們頁面顯示的語言,咱們這裏就選擇簡體中文,如圖
選擇好語言後,咱們須要對服務器進行設置,輸入咱們的域名\IP地址,若是須要加密 的話,這裏須要配置加密的公鑰和私鑰等等,我這裏選擇默認的。如圖
配置好後,咱們選擇數據庫的方式,這裏說明一下,咱們須要鏈接到一個已經安裝好後的數據庫的話,選擇第一種方式,若是咱們本地沒有安裝好,能夠選擇第二種,如圖
因爲我這裏是選擇第一種方式,接着咱們須要配置咱們的ODBC鏈接方式,我這裏的使用MYSQL的,輸入數據庫服務地址和數據庫的名字,還有用戶名和密碼
接着輸入用戶組裏面的屬性,咱們這裏選擇默認的,如圖
輸入管理員的帳號和密碼,這裏必定要注意的,默認的管理員賬號和密碼是admin和admin,若是須要修改爲咱們本身的密碼的話,能夠在這一步修改,可是必定要記住,否則的話,須要在數據庫裏面修改的,並且要以郵箱的形式來修改賬號。如圖
進行到這一步,服務器的配置算是完成了
咱們能夠在管理平臺上看到咱們openfire的配置信息了,如圖
對於mac版本的安裝,下載後點擊安裝,安裝完成後,可能會不知道安裝在哪裏,咱們能夠打開偏好設置,要從新打開纔有效的,而後打開openfire的按鈕,以下圖,
這個時候,咱們直接點擊start openfire就能夠打開咱們mac版本的服務器,此外再次提示一下的就是,若是打不開openfire要檢查裏面的端口有沒有被佔用了。
這裏咱們直接用官網上的Spark來測試咱們的實時信息,在官網下載好spark,點擊安裝,安裝好後,咱們須要註冊一個賬號,註冊賬號的步驟,以下圖,這裏須要注意的是服務器地址,這裏的地址就是咱們剛纔輸入的域名地址,咱們能夠輸入服務器的IP地址,若是是本地測試的能夠輸入127.0.0.1或者全部域,或者域名,這個根據具體狀況輸入。 spark的下載地址http://www.igniterealtime.org/downloads/index.jsp#spark
註冊成功後,會自動彈回登陸的頁面的,咱們輸入賬號和密碼就能夠登陸到相應的界面,而且會顯示相似飛信的頁面的,顯示本身在線的,如圖
這時咱們登陸後管理平臺上,想利用後臺羣發一條信息到客戶端,咱們點擊會話->工具->發送信息,而後輸入咱們的內容,例如hello.點擊發送後客戶端會收到hello,這時說明實時內容已經到達了。