国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

XMPP使用簡介--登錄

2019-11-14 18:45:50
字體:
來源:轉載
供稿:網友

  在現階段的通信服務中,各種標準都有,因此會出現無法實現相互連通,而XMPP(Extensible Message and PResence Protocol)協議的出現,實現了整個及時通信服務協議的互通。有了這個協議之后,使用任何一個組織或者個人提供的即使通信服務,都能夠無障礙的與其他的及時通信服務的用戶進行交流。例如google 公司2005年推出的Google talk就是一款基于XMPP協議的即時通信軟件。下面我們就談論一下如何簡單的使用XMPP

 一、環境的搭建,本文采用的是openFire 服務器

  1、下載最新openfire for mac版 http://www.igniterealtime.org/downloads/index.jsp

  2、點擊下面圖標進行安裝JDK 和服務器

 

  3、啟動后,點擊Open Admin Console按鈕,自動在瀏覽器中打開本地web配置頁面http://localhost:9090/setup/index.jsp然后進行服務器配置

  4、將語言設置為中文即可

 

  5、設置服務器地址為本機

  6、設置數據庫

 

  在執行此步驟之前需要做一些準備工作,

1創建數據庫 :create database openfire;
2導入openfire資源文件夾 resources/database下的數據表:source /usr/local/openfire/resources/database/openfire_MySQL.sql
7、特性設置

  8、設置openfire服務器管理員的帳號和密碼

  9、安裝完成,點擊按鈕登錄

  登錄后界面如下

  10、按照上面操作創建用戶密碼

  11、此時的準備工作基本完成

 二 導入XMPP

  1、將XMPP全部導入工程

 

  2、導入依賴包

 

  由于動態庫的存在因此需要做以下操作

 

 三、到目前為止我們的XMPP成功導入到項目中,下面我們開始編碼實現用戶登錄

  1、在代理里面引入包,并且定義流屬性

 

  2、初始化并且添加代理

#pragma mark 初始化- (void)setUpStream{        if (_stream==nil) {                //1 初始化stream        _stream=[[XMPPStream alloc] init];                //2 添加代理        [_stream addDelegate:self delegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];            }    }

  3、建立連接

#pragma mark 建立鏈接//建立連接- (void) connect{        //1 初始化    [self setUpStream];        //2 制定服務器地址,用戶名,密碼    NSString * userName=@"jereh@jereh.local";    NSString * hostName=@"jereh.local";        //3 設置JID和主機    XMPPJID * jid=[XMPPJID jidWithString:userName];        [self.stream setMyJID:jid];    [self.stream setHostName:hostName];        //4 開始連接    NSError * error;    [self.stream connectWithTimeout:XMPPStreamTimeoutNone error:&error];        if (error) {        NSLog(@"發送連接請求失敗");    }else{        NSLog(@"發送連接請求成功");    }    }

  5、進行密碼驗證,通過代理方法返回結果

#pragma mark 驗證身份請求-(void)xmppStreamDidConnect:(XMPPStream *)sender{    NSLog(@"鏈接成功");        //發送身份驗證請求    NSString * pwd=@"jereh123";    [self.stream authenticateWithPassWord:pwd error:nil];}#pragma mark 密碼正確- (void) xmppStreamDidAuthenticate:(XMPPStream *)sender{    NSLog(@"身份驗證成功");        //通知服務器上線    [self onLine];}#pragma mark 密碼錯誤- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSxmlElement *)error{        NSLog(@"身份驗證失敗");}

  6、開始連接

 

  想要了解更多內容的小伙伴,可以點擊查看源碼,親自運行測試。

  疑問咨詢或技術交流,請加入官方QQ群:JRedu技術交流 (452379712)

 

作者:杰瑞教育
出處:http://www.survivalescaperooms.com/jerehedu/ 
本文版權歸煙臺杰瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大连市| SHOW| 陇南市| 东山县| 二连浩特市| 页游| 吴川市| 锦屏县| 买车| 芮城县| 罗田县| 涞源县| 饶河县| 大英县| 明水县| 永州市| 利川市| 蕉岭县| 汝州市| 雷波县| 礼泉县| 临西县| 乌拉特后旗| 荆门市| 乌审旗| 陈巴尔虎旗| 确山县| 平南县| 廊坊市| 浪卡子县| 紫阳县| 澄迈县| 黄平县| 台东县| 五莲县| 高尔夫| 名山县| 禄丰县| 五峰| 宁阳县| 安阳市|