1. 程式人生 > >基於tigase伺服器的安卓客戶端開發---註冊登入

基於tigase伺服器的安卓客戶端開發---註冊登入

 首先感謝簡書大牛richsjeson發表的部落格(地址http://www.jianshu.com/p/12e1055afca1)對我使用jaxmpp的啟蒙作用! 1 什麼是tigase?與之前的openfire的區別?        哦,我就說一句,高併發
2 使用tigase伺服器開發步驟:        1 引入依賴包,
      主要包括 jaxmpp
   2 新增依賴          
compile files('libs/jaxmpp-core-3.0.0-sources.jar')

       3 通過網上的學習,瞭解了jaxmpp的註冊登入方法,貼出程式碼     
public void 
Login() { String user = PreferenceUtils.getPrefString(context, PreferenceConstant.ACCOUNT, ""); String pass = PreferenceUtils.getPrefString(context, PreferenceConstant.PASSWORD, ""); jaxmpp = new Jaxmpp(); jaxmpp.getConnectionConfiguration().setServer(UrlConstant.HOSTER); jaxmpp.getConnectionConfiguration().setPort(UrlConstant.PORT);
jaxmpp.getSessionObject().setUserProperty(Jaxmpp.AUTOADD_STANZA_ID_KEY, true); jaxmpp.getConnectionConfiguration().setUserJID(BareJID.bareJIDInstance(user + "@host")); jaxmpp.getConnectionConfiguration().setUserPassword(pass); ThreadUtils.runInThread(new Runnable() { @Override public void
run() { try { jaxmpp.login(); } catch (JaxmppException e) { e.printStackTrace(); L.e("asker", "jaxmpp登入失敗" + e.getMessage()); } } }); }

       4 就是這麼簡單,現在你已經擁有了一個服務賬號,但是怎麼驗證賬號呢?jaxmpp的設計師真的很人性化,讓你不用下載spark,潘安迪,就能用程式碼輕鬆搞定,對,你說的沒錯,就是監聽,下面看一看登陸的監聽方法
    
//登入的監聽
jaxmpp.addListener(Jaxmpp.Connected, new Listener<JaxmppCore.JaxmppEvent>() {
    @Override
    public void handleEvent(JaxmppCore.JaxmppEvent jaxmppEvent) throws JaxmppException {
        L.e("asker", "使用者登入成功 使用者名稱:" + jaxmppEvent.getSessionObject().getUserBareJid().getLocalpart()
        );
context.startService(new Intent(context, ReceiveMessageService.class));
}
});

       5 程式碼進行到這裡,我們就已經實現了tigase伺服器的註冊登入和監聽        6 遇到過的問題:         1 容易犯錯的地方一般會是登陸名沒有拼接伺服器名,或者忘了中間的"@"符號,這個問題本人已犯N次,曾深感苦惱         2 好不容易搞好了客戶端程式碼,但總是登陸失敗,返回的失敗資訊還是null,這時候客戶端同學就要在充分Debug自己程式碼後,抱著勇於懷疑的態度,與服務端同事進行溝通,或者使用spark(注意一定拼接伺服器名)
       本地校驗一下,因為tigase伺服器也是同學自己搞出來的,難免有些小失誤

相關推薦

基於tigase伺服器客戶開發---註冊登入

 首先感謝簡書大牛richsjeson發表的部落格(地址http://www.jianshu.com/p/12e1055afca1)對我使用jaxmpp的啟蒙作用! 1 什麼是tigase?與之前的o

客戶開發:XML和JSON兩種資料交換格式的比較

最近想給網站做客戶端,因此在考慮到底是用xml還是Json的問題,剛好在網上讀到了這篇文章。 目前,在web開發領域,主要的資料交換格式有XML和JSON,對於XML相信每一個web  developer都不會感到陌生;相比之下,JSON可能對於一些新步入開發領

基於Mask rcnn的行人檢測與客戶的移動監控系統

一. Mask rcnn簡述 Mask rcnn是何凱明基於以往的faster rcnn架構提出的新的卷積網路,一舉完成了object instance segmentation. 該方法在有效地目標的同時完成了高質量的語義分割。 文章的主要思路就是把原有的Faster-R

WebService 客戶呼叫和伺服器搭建

這段時間做了一個小程式,想通過WebService來供安卓客戶端呼叫。先說一下安卓端的程式。之前沒有進行過安卓+Java的程式設計,就先找網上的一個查詢手機號碼歸屬地例子來測試WebService。 在Android平臺呼叫Web Service需要依賴於第三

STM32F4+WIFI模組TCP連結伺服器伺服器客戶Websocket長連結;實現監控資訊實時推送。

  哈哈哈哈哈!這是筆者第一次寫這種東西,專案是我們大二的一個大創組的專案:(雖然很沒創新,導師也一棒子打死了)但是我們還是硬著頭皮完成了。 1>硬體端:stm32f429,紅外線感應,esp8266模組,ov5640攝像頭,步進電機,等等。    主要是採集移動物

EasyDarwin相關Android客戶EasyPusher/EasyPlayer/EasyCamera/EasyClient在無開發環境進行log抓取

1.抓Android logcat工具 在EasyDarwin Github Tool專案(https://github.com/EasyDarwin/Tools)下載Android adb Logcat工具windows版本: 2.開啟Android手

基於TCP的服務器開發

test afr Coding 發送數據 ipaddress 結果 nco tput 服務器開發 一.說明 前文介紹了基於安卓客戶端的開發,在此基礎上,進行少許改動即可開發出一款基於TCP的安卓服務器,理論知識請參見筆者上一篇博文,下面直接實踐操作。 二.權限申明 1

WebSocket客戶實現詳解(三)–服務主動通知

this override 連接 繼續 true www. 格式 代碼 ati   WebSocket安卓客戶端實現詳解(三)–服務端主動通知    本篇依舊是接著上一篇繼續擴展,還沒看過之前博客的小夥伴,這裏附上前幾篇地址    WebSocket安卓客戶端實現詳解(一)

WebSocket客戶實現詳解(一)–連接建立與重連

ask 應該 header oid mha 主動推送 未收到 compile tde http://blog.csdn.net/zly921112/article/details/72973054 前言 這裏特別說明下因為WebSocket服務端是公司線上項目所以這裏ur

js判斷客戶或者是ios客戶

終端 use navigator 判斷 com oca topic fun and 代碼:   function xaizai() {   var u = navigator.userAgent, app = navigator.appVersion;   var isA

客戶測試總結

完成後 在線 數字 短信 版本 在線升級 刪除 取消 並且 一.安裝測試 1.真機上安裝卸載,不同渠道第方軟件(91,豌豆莢,小米商城,等) 2.手機卡/SD卡,.不同的IOS和安卓版本 3.安裝過程中取消,空間不足 4.安裝過程來電,短信,完成後,是否繼續 5.卸載後是否

ShopNC Android 好商城原生客戶源碼項目

安裝 程序 .com 管理 截圖 red 客服系統 報錯 客戶端源碼 # ShopNc Android 警告:本開源程序作者:MapStory,聯系QQ:1002285057,交流群:492184679,禁止任何未授權商用! 基於好商城V5.6的Android客戶端,目

微信H5客戶app支付中遇到的問題處理: 商家引數格式有誤,請聯絡商家解決

解決在APP中使用微信H5支付,提示“商家引數格式有誤…” 引子:近期碰到了微信支付的新需求,用到微信H5支付,後發現如果只使用瀏覽器做H5支付, 沒什麼問題,主流的手機瀏覽器均已測試,都可以調起微信支付(QQ,UC,百度 ) 但是當我在APP中喚起的時候,安卓總是出現“商家引數格式有誤,請

WebSocket客戶實現詳解(一)--連線建立與重連

前言 這裡特別說明下因為WebSocket服務端是公司線上專案所以這裡url和具體協議我全部抹去了,但我會盡力給大家講明白並且demo我都是測試過,還望各位看官見諒 我們先粗獷的講下流程,掌握個大概的方向,然後在深入講解細節的實現.這裡先解答一個疑惑,為啥我們這要用WebSocket而不

客戶與開發端connect

開發端 import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import jav

flutter筆記5:官方資料搬運-客戶打包

上一篇,使用material原生控制元件完成了人生的一個用flutter開發的APP,這兩天為了理解flutter,翻了很多資料,資訊量太大,燒了不少腦子,今天這篇就簡單點,實戰走一下安卓客戶端的打包流程,看看會遇到什麼問題。想檢視官方資料的請移步Preparing an A

幾款GitHub客戶的使用體驗總結

Overview 作為一個熱愛科學的青年,在知道了GitHub這樣一個程式碼版本託管平臺之後,真是愛不釋手、喜不自勝。GitHub的網頁和Windows客戶端的簡潔高效,讓我這個一直堅信 “simple is beautiful” 的人打心底裡喜歡。

一個Almost完整的電商專案後臺+客戶

一轉眼就已經大三了,作為非CS專業的一個普通大學生,應該對自己的未來做規劃了。於是,大三開始我就開始著手準備一個“大專案”。將前兩年學習的知識做一個總結,歸納。於是就有了這個專案。專案的名字叫OscsMall,為什麼叫這個名字我也不知道。至於Almost是因為整

WebSocket 客戶實現及程式碼封裝

WebSocketDemo WebSocket 安卓客戶端的實現方式。 介紹 如果不想了解其中的原理可以直接拉到最後面的使用方式章節,按照教程使用即可,或者直接開啟 demo 檢視程式碼,程式碼地址:。 https://github.com/0x

語音助手的客戶設計

一、開發環境配置本論文選用科大訊飛開發平臺提供的語音合成和語音識別技術,完成語音助手軟體的開發,最終在安卓手機上正常執行。在win10完成,使用android studio開發編譯,軟體測試機器為魅藍n