openfire服務器+smack框架實現安卓聊天app(一)搭建服務器

openfire服務器+smack框架實現安卓聊天app


這是移動應用開發的課設,我開始就準備開發一個能夠遠距離實時聊天的安卓app,往個方向找了找,發現有個Tigase開源服務器正好能滿足我的需求,而在Android Stdio中找到了smack框架能夠方便快捷地建立連接、監聽實現聊天功能。可惜中途遇到了好多坑,後來也把Tigase服務器換成了openfire服務器,好在最後還是實現了這個功能。這篇主要記錄服務器搭建的過程,這塊問題不大,只要能使用psi登錄,就說明搭建成功了。

(一)Linux雲服務器的搭建
開源的聊天服務器比較熱門的就是openfire和Tigase了,但因爲我搭建的新版本tigase真的找不到究竟在哪裏關閉TLS/SSL加密驗證,導致我安卓app上登錄一直失敗,所以後來就換成了openfire。這裏我想把兩種服務器搭建方法都介紹一下:

1.jdk和數據庫安裝
安裝Tigase或者openfire前都要安裝好jdk和數據庫(我使用mysql),安裝包的話要麼從官網下載上傳到服務器,要麼用wget直接下載,這裏就不多介紹了。或者如果是ubuntu系統的話就可以像我一樣用自帶的軟件源一鍵安裝非常方便:

apt-get update   #更新軟件源,Tigase8支持的mysql版本一般是5.7,更新軟件源後就可以自動安裝5.7.3的mysql版本了
apt-get install openjdk-8-jdk-headless	#安裝jdk,安裝好後jdk的路徑應該是
apt-get install mysql-server		#安裝mysql server,按照界面提示輸入密碼
#apt-get install mysql-client 	#一般一起安裝,按理說安裝上面那個就夠了

一鍵安裝的jdk位置可能會在這裏:
在這裏插入圖片描述

2.搭建Tigase服務器
Tigase8服務器可以按照官網上的wget地址下載
https://tigase.net/
在這裏插入圖片描述
而我搭建也是參考別人的博客,很有幫助。比如tigase服務器搭建的話可以參考這個大佬的博客
https://blog.csdn.net/Pai_Da_Xing/article/details/88882059

3.搭建openfire服務器
①openfire安裝
官方網站:http://www.igniterealtime.org/downloads/index.jsp#openfire
可通過命令直接下載:

wget -c http://download.igniterealtime.org/openfire/openfire_4_5_2.tar.gz
tar -xzvf openfire_4_5_2.tar.gz

②新建mysql數據庫

#mysql -uroot -p
>(輸入你的密碼)

mysql>create database openfire;

#sudo nohup bash openfire/bin/openfire.sh &

然後網頁登錄:你的服務器IP:9090
(一定要確認服務器的端口開放,安全組和防火牆一定要放行9090、5222、5223、5290等等服務器用到的端口)
登錄後(一般初始賬號密碼是admin/admin)接着在網頁中配置服務器信息。

可以參考這個博客進行搭建和配置openfire服務器
https://blog.csdn.net/qq_25066049/article/details/84329302?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2

(二)驗證和使用服務器
不論是Tigase還是openfire,都可以使用如psi這樣的軟件連接聊天服務器進行使用,這裏我們使用psi驗證我們的服務器是否搭建正確:
下載地址:https://sourceforge.net/projects/psi/
使用:
1.註冊賬號,填入openfire服務器名稱
在這裏插入圖片描述
相信這個憑證

在這裏插入圖片描述
在這裏插入圖片描述
2.可更改軟件語言爲簡體中文

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
至此,聊天服務器搭建並驗證成功,接下來可以在Android Stdio完成聊天app了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章