XMPP實現登陸登出功能

2021-07-08 14:42:07 字數 2294 閱讀 4145

xmpp框架的分析、匯入及問題解決

demo ——

xmpp即時通訊(已匯入框架)密碼:3a7n

這篇我們利用xmpp框架來實現一下登陸功能,先來介紹一下xmpp框架內的幾個比較重要的檔案

*  xmppstream:開發過程中主要的互動類,所有自定義**和拓展都基於此類

* xmppparser:

提供xmppstream解析

* xmppjid:提供乙個jid(不可改變)實現,遵循nscopying協議和nscoding協議

* xmppelement:以下三個xmpp元素的基類

* xmppiq:資料請求

* xmppmessage:訊息

* xmppmodule:開發xmpp拓展時使用

* xmpplogging:xmpp日誌框架

* xmppinternal :整個xmpp框架內部核心和底層內容注:

接下來我們來配置xmppstream例項

1. 配置連線伺服器的方式

2. 新增**

3. 新增模組

4. 開始連線

5. 開始授權

xmpp登入的方式和我們正常情況下登入的習慣不同,它是客戶端與伺服器先建立乙個長連線,然後客戶端將jid傳送到伺服器,伺服器告訴客戶端已經連線成功,然後客戶端再把密碼傳送給伺服器,如圖:

了解了xmpp的連線過程,我們就按照這個過程來實現登入和登出模組

首先我們要引用

#pragma mark - xmpp

// 初始化xmppstream

- (void)setupxmppstream

初始化完成後我們就要和伺服器進行連線

// 連線伺服器

- (void)connecttohost

// 設定jid resource標記登入的客戶端

xmppjid

*myjid = [

xmppjid

jidwithuser

:@"wangwu"domain

:@"***************.local" resource

:@"ios"];

_xmppstream.myjid = myjid;

// 設定伺服器網域名稱 可設定網域名稱或者ip位址

_xmppstream

.hostname

= @"************xx.local";

// 設定埠(預設的話可省略)

_xmppstream.hostport =

5222;

// 連線

nserror *error = nil;

if(![_xmppstream connectwithtimeout

:xmppstreamtimeoutnoneerror

:&error])

}有登入對應的就有登出功能,所以我們先來完成登出

// 登出

- (void)disconnecttohost

連線成功後,我們需要獲得授權,所以把密碼傳送給伺服器

// 傳送密碼

- (void)sendpwdtohost

}- (void)sendonlinetohost

#pragma mark - xmppstream**

// 連線成功

- (void)xmppstreamdidconnect:(xmppstream *)sender

// 連線失敗

- (void)xmppstreamdiddisconnect:(xmppstream *)sender witherror:(nserror*)error

// 授權成功

- (void)xmppstreamdidauthenticate:(xmppstream *)sender

// 授權失敗

- (void)xmppstream:(xmppstream *)sender didnotauthenticate:(ddxmlelement *)error

到這裡xmpp的登入和登出就演示完畢了,本篇的demo請前往 —— 

xmpp實現登入與登出功能

XMPP協議的使用 註冊,登陸,登出

authenticatewithpasswor方法登陸即可 inte ce xmpptool xmpp核心類 property nonatomic,strong xmppstream stream property nonatomic,copy resultblock resultblock end...

ThinkPHP實現登陸功能

思路 前台輸入賬號密碼,後台自定義乙個函式checknamepwd 用於驗證賬號密碼正確與否,在控制器裡呼叫,其中,checknamepwd 方法驗證賬號密碼正確性是首先通過賬號查詢密碼,然後把查詢出來的密碼和使用者輸入的密碼比較,相同則登陸成功,否則登入失敗!首先在模型類定義乙個函式checkna...

php實現註冊登陸功能

先來截圖下需要用到的檔案 這個是signup.html 1237 82627 寫好html繼續寫signup.php 1 2 header content type text html charset utf8 設定下utf 8編碼34 if isset post submit 78 usernam...