1. 程式人生 > >android即時通訊軟體開發教程(asmack+openfire+spark)一

android即時通訊軟體開發教程(asmack+openfire+spark)一

      本人這陣子因為需求的原因,需要做一個android即時通訊軟體,所以接下來分享我這陣子的開發心得。

      這一章主要是搭建android通訊軟體的伺服器環境,並且體驗自己開發的通訊軟體的聊天功能。

      首先,要了解開發所用的東西asmack+openfire+spark。

1、asmack

asmack是xmpp協議(這個協議可以通過百度百科瞭解http://baike.baidu.com/view/189676.htm?from_id=9344277&type=syn&fromtitle=xmpp%E5%8D%8F%E8%AE%AE&fr=aladdin)的實現包,裡面提供了各種連線伺服器、實現通訊功能(如新增好友、查詢好友等)的介面,它主要就是包括一個asmack.jar包,在自己android專案加上這個包就行了,下載地址:http://pan.baidu.com/s/1hq1QkJU

2、openfire

openfire是我們要做的通訊軟體主要的伺服器,安裝教程在網上有很多,這裡提供一個地址:http://jingyan.baidu.com/article/ab69b270dcf2492ca7189fe4.html

實現上面地址的步驟之後,如果登入openfire伺服器之後出現Login failed: make sure your username and password are correct and that you're an admin or moderator.的錯誤,

解決方案如下: 1.使用Mysql檢視工具進入資料庫,進入表“ofuser”,將該表清空,然後執行該SQL INSERT INTO ofUser (username, plainPassword, name, email, creationDate, modificationDate) VALUES ('admin', 'admin', 'Administrator', '

[email protected]', '0', '0'); 2.關閉openfire服務,就是從其控制檯stop然後再start,再用使用者名稱:admin,密碼:admin登入即可。這樣的話我們以自己電腦作為伺服器的目標就實現了。

3、spark

Spark是一個開源,跨平臺IM客戶端。它的特性支援集組聊天,電話整合和強大安全效能。就是說,它已經是一個完整聊天軟體了,只要通過將它連線上自己的電腦伺服器,就可以在同一個區域網內聊天了。這裡或許有人會有疑問,這樣的組合跟我們平常的聊天軟體有什麼區別。這裡的區別就在於,我們所用的spark是開源的,然後伺服器及資料庫是在我們自己的電腦,我們可以自己在伺服器和資料庫修改使用者資料。接下來是spark的登入問題:

使用者名稱和密碼與自己伺服器資料庫裡面的ofuser表裡面的資料匹配就行了,一般會預設有一個使用者名稱:admin 密碼:admin 初始資料。伺服器就是自己安裝有openfire電腦的ip,你可以通過在命令列輸入ipconfig檢視自己的ip。

接下來我們就要藉助spark與android下的客戶端進行聊天

這裡我會提供一個網上開發好的android IM專案

匯入完專案之後修改裡面的一些引數,修改專案包下

裡面有三個引數:

public static final String XMPPServerName = "schoolapp";
    public static final String XMPPServerHost = "192.168.1.103";
    public static final int XMPPServerPort = 5222;

將伺服器名字改成你安裝openfire時候用的名字,伺服器地址改成安裝openfire的電腦的ip地址,這裡如果是區域網內,那隻能區域網內進行聊天。埠號一般都預設5222,就不要更改了,這樣的話,你用的電腦的android模擬器和spark就可以進行聊天了,或者你用兩臺同時連上這個區域網的手機也可以進行即時通訊了。

相關推薦

android即時通訊軟體開發教程asmack+openfire+spark

      本人這陣子因為需求的原因,需要做一個android即時通訊軟體,所以接下來分享我這陣子的開發心得。       這一章主要是搭建android通訊軟體的伺服器環境,並且體驗自己開發的通訊軟體的聊天功能。       首先,要了解開發所用的東西asmack+ope

即時通訊軟體開發 需要用到什麼技術

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

社交即時通訊軟體開發,區塊鏈聊天行情軟體app開發

社交即時通訊軟體開發,區塊鏈聊天行情軟體app開發 隨著區塊鏈被越來越多人所關注,大量的資金進入這個領域之中,也不斷催化區塊鏈技術進一步成熟。不過即使區塊鏈這麼神奇,社交應用都是無法缺少的存在,所以,區塊鏈社交媒體出現在一些人的視野之中,它正在顛覆人們傳統的網際網路社交思維。 源中瑞社交軟體

仿QQ即時通訊軟體開發-賴國榮-專題視訊課程

仿QQ即時通訊軟體開發—7495人已學習 課程介紹        會使用JAVA的Swing做UI,學會用JAVA操作資料庫,用Java的網路程式設計,多執行緒程式設計,製作一個仿QQ的即時通訊軟體,實現在區域網或者網際網路通訊課程收益    製作仿QQ即時通訊軟體,實現在區

Senparc.Weixin.MP SDK 微信公眾平臺開發教程二十二:在 .NET Core 2.0/3.0 中使用 MessageHandler 中介軟體

概述   在 《Senparc.Weixin.MP SDK 微信公眾平臺開發教程(六):瞭解MessageHandler》 中我們已經瞭解了 MessageHandler 的執行原理和使用方法,從我設計了這種處理方式到現在已經 6 年多的時間,這是一種非常穩定而且(在如此複雜環境下)相對易於維護的

《微信公眾平臺開發教程含java程式碼》下載

2018年11月02日 14:23:40 茹粿鰅莧丨你 閱讀數:7 標籤: 程式設計 資料 區

軟體開發流程Software development process

首先 看一下基本軟體專案開發流程圖其中1.需求分析:   通過對客戶業務的瞭解和與客戶對流程的討論對需求進行基本建模,最終形成需求規格說明書。 2.總體設計:   通過分析需求資訊,對系統的外部條件及內部業務需求進行抽象建模,最終形成概要設計說明文件。 3.詳細設計:  

OpencvForUnity開發教程準備階段預告

過幾天等我換完工作準備寫一寫,Unity基於OpenCV來實現影象識別,自己實現AR底層邏輯,擺除AR外掛的限制: 不好意思 各位大哥- -這個影象識別不搞了(雖然搞完了但是懶得寫。。) ,直接接Tensorflow做圖形識別。而且能夠實現強化學習,模仿學習。靜態資料識別。

可在廣域網部署執行的即時通訊系統 -- GGTalk總覽附原始碼下載

    (最新版本:V6.0,2017.12.11 。即將推出Xamarin移動端版本,包括 Android 和 iOS)        GGTalk開源即時通訊系統(簡稱GG)是QQ的高仿版,同時支援區域網和廣域網,包括客戶端(PC客戶端、android移動端)、服務端、資料庫。從2013年最初的GG1.

微信小程式開發之大神之路最全微信小程式開發教程視訊+精品文章

最新小程式商城類開發教程: 這兩天微信總是放大招,小編先把這兩天最新的教程放在最上面,方便大家預覽: 視訊教程 【新手入門】線上小程式開發這開

軟體開發標準文件模板

操作手冊(GB8567——88)1引言1.1編寫目的說明編寫這份操作手冊的目的,指出預期的讀者。1.2前景說明:a.  這份操作手冊所描述的軟體系統的名稱;b.  該軟體專案的任務提出者、開發者、使用者(或首批使用者)及安裝該軟體的計算中心。1.3定義列出本檔案中用到的專門術

Senparc.Weixin.MP SDK 微信公眾平臺開發教程二十二:如何安裝 Nuget(dll) 後使用專案原始碼除錯

  最近碰到開發者問:我使用 nuget 安裝了 Senparc.Weixin SDK,但是有一些已經封裝好的過程想要除錯,我又不想直接附加原始碼專案,這樣就沒有辦法同步更新了,我應該怎麼辦?   這其實是一個很常見也具有普遍代表性的問題,解決方案也是通用的,本文我們就來學習如何對已經安裝了 dll 的專案

XGBoost使用教程純xgboost方法

一、匯入必要的工具包# 匯入必要的工具包 import xgboost as xgb # 計算分類正確率 from sklearn.metrics import accuracy_score二、資料讀取XGBoost可以載入libsvm格式的文字資料,libsvm的檔案格式

Android 即時通訊開發小結

《Android 即時通訊開發小結》基於IM Andriod 開發的各種常見問題,結合網易雲信即時通訊技術的實踐,對 IM 開發做一個全面的總結。相關推薦閱讀:、客戶端架構作為一個 IM 軟體,最重要的一個特性就是保證訊息的達到率和實時性。達到率受伺服器效能和設計協議影響,後

Android studio開發環境搭建教程軟體安裝教程從零開始學android

學習Android開發的第一步是java環境搭建和android studio軟體的安裝。本文主要講解如何從零開始學android。 Android程式開發用的是java語言,所以我們要先在電腦上配置jdk(java development kit)環境,也即java開

【XMPP協議】開發Android即時通訊APP之瞭解XMPP

目前正在忙公司專案,製作基於XMPP的即時通訊APP,為此必須先了解下XMPP協議,所以寫篇部落格加深下印象。 關於XMPP協議的相關介紹: XMPP(Extensible Messageing and Presence Protocol:可擴充套件訊息與存

Android APP 快速開發教程安卓

Android APP 快速開發教程(安卓) 前言 本篇部落格從開發的角度來介紹如何開發一個Android App,需要說明一點是,這裡只是提供一個如何開發一個app的思路,並不會介紹很多技術上的細節,從整個大局去把握如何去構思一個app的開發,讓你對獨立開發一款app的時候有個理解

伺服器端程式設計心得——開源即時通訊軟體的原始碼

        在我的《伺服器端程式設計心得》這個系列的第一篇至第六篇都是講了一些零散的不成體系的網路程式設計細節。今天,在這篇文章中,我將介紹一款我自主開發的即時通訊軟體flamingo(中文:火烈鳥),並開源其伺服器和pc客戶端程式碼。以此來對前幾篇文章中說到的理論進行實

安全軟體開發入門教程

軟體安全問題有趣的《黑客帝國》終極解釋:《黑客帝國》故事裡面的人物關係,就像電腦裡面的各種程式的關係一樣:電腦裡面的系統程式:Matrix; 病毒程式:以Neo為首的人類; 防病毒軟體:Agent特工、機器章魚、先知(迷惑和引導病毒程式的); 以及出錯程式:Smith和Merovingian。 第一集:病毒程

開源企業IM,免費企業即時通訊軟體-ENTBOOST雲通訊平臺Windowsr174版本釋出

經過恩布團隊全體成員的不懈努力,按照原定計劃,終於在今天(5月14日)釋出第二個開源版本,恩布企業互聯IM,ENTBOOST 0.2.0(r174beta)Windows版本;主要功能支援文字、表情,