麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

iOS開發之使用XMPPFramework實現即時通信(三)

2019-11-14 19:56:27
字體:
來源:轉載
供稿:網友

  你看今天是(三)對吧,前面肯定有(一)和(二),在發表完iOS開發之使用XMPPFramework實現即時通信(一)iOS開發之使用XMPPFramework實現即時通信(二)后有好多的小伙伴加我Q或者評論留言提出一些問題,比如:“樓主,在哪注冊?”,“樓主,你的登錄用戶名和密碼是多少?”之類的問題。在之前的博客中使用的賬號和密碼,為了方便,是用spark客戶端注冊的,在今天的博客中將會詳細的介紹如何使用代碼注冊我們新用戶,還有在這感謝關注我的小伙伴們,謝謝你們的支持!

  好了,廢話少說,說道到注冊新的用戶其實還是蠻簡單的,之前在使用xmppframework的時候是直接連接后就直接認證。今天的博客的大體思路是讓用戶輸入用戶名和密碼,我們拿著用戶名取連接我們的openfire服務器(即使用戶沒有注冊,拼接出的jid也能連接服務器)。連接完以后這不同的是去注冊密碼而不是去認證,注冊成功后,然后再認證。

  一,運行效果圖展示

    還是那句話,為了直觀,是少不了圖的,運行的部分截圖如下:

 

  二.代碼展示

    1.為了提示,我把AlterView進行了簡單封裝,便于使用,代碼如下:

1 //提示框2 -(void)alterWithTip:(NSString *) tip3 {4     UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"提示" message:tip delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];5     [alter show];6 }

 

    2.開始今天的主題,首先在我們的Controller里獲取xmppSteam. 并注冊委托回調

1 - (void)viewDidLoad {2     [super viewDidLoad];3 4     UIapplication *application = [UIApplication sharedApplication];5     id delegate = [application delegate];6     _xmppStream = [delegate xmppStream];7     //在主線程中注冊回調8     [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];9 }

 

    3.點擊注冊按鈕,然后調取連接方法,連接方法中用到的用戶名是用戶自己輸入的

 1 //用用戶輸入的用戶名來創建連接 2 -(void) xmppConnect 3 { 4     NSString *userName = self.userNameTextField.text; 5      6     //創建JID 7     XMPPJID *jid = [XMPPJID jidWithUser:userName domain:MYDOMAIN resource:@"iPhone"]; 8      9     //把Jid添加到流10     [self.xmppStream setMyJID:jid];11     12     //連接服務器13     NSError *error = nil;14     [self.xmppStream connectWithTimeout:10 error:&error];15     if (error) {16         NSLog(@"連接錯誤%@",[error localizedDescription]);17     }18 }

 

    4.實現連接成功后回調的方法,在本方法中注冊我們的用戶密碼,代碼如下:

 1 //連接成功后,注冊用戶 2 -(void)xmppStreamDidConnect:(XMPPStream *)sender 3 { 4      5     [self alterWithTip:@"openfire服務器已連接"]; 6      7     NSString *passWord = self.passwordTextField.text; 8      9     NSError *error = nil;10     [self.xmppStream registerWithPassword:password error:&error];11     if (error) {12         NSLog(@"注冊錯誤%@",[error localizedDescription]);13     }14 }

 

    5.實現注冊成功后的回調方法,注冊成功后,認證密碼:

 1 //注冊成功后,認證用戶密碼 2 -(void)xmppStreamDidRegister:(XMPPStream *)sender 3 { 4     [self alterWithTip:@"用戶注冊成功"]; 5      6     //注冊成功后認證用戶名和密碼 7     NSError *error = nil; 8     [self.xmppStream authenticateWithPassword:self.passwordTextField.text error:&error]; 9     if (error) {10         NSLog(@"認證錯誤%@",[error localizedDescription]);11     }12 }

 

    6.實現認證成功后的回調

1 //認證成功后的回調2 -(void)xmppStreamDidAuthenticate:(XMPPStream *)sender3 {4     [self alterWithTip:@"登陸成功"];5 }

 

    7.實現認證失敗后的回調

1 //認證失敗的回調2 -(void)xmppStream:sender didNotAuthenticate:(DDxmlElement *)error3 {4     [self alterWithTip:@"用戶名和密碼錯誤"];5 }

 

  三、注意問題

    如果你輸入的賬號是已經注冊過的賬號,會提示注冊失敗。

 

  今天的博客先到這兒,歡迎批評指正~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成码无人av片在线观看网站 | 久久人人爽人人爽人人片av高请 | 亚洲最大的成人网 | 全黄性性激高免费视频 | 欧美大片一级毛片 | 久久久成人免费视频 | 免费福利在线视频 | 国产又白又嫩又紧又爽18p | 91九色视频观看 | 精品国产一区二区亚洲人成毛片 | 国产在线欧美日韩 | 国产亚洲精品成人 | 欧美日韩在线免费观看 | lutube成人福利在线观看 | 欧美成人午夜 | 成人视屏网站 | 日韩欧美中文字幕视频 | 看免费毛片 | 精品1 | av手机在线电影 | 国产流白浆高潮在线观看 | 国产精品免费成人 | 欧美成人国产va精品日本一级 | 久久精品一区二区三 | 伊人二本二区 | 久草手机视频在线观看 | 免费一级欧美在线观看视频 | 黄片一级毛片 | 久久久久久久久久久影视 | 国产精品视频在 | 91午夜在线观看 | 久久久久久69 | 国内精品伊人久久 | 在线观看国产一区二区三区 | 欧美精品久久久久久久多人混战 | 免费国产在线观看 | 成人做爰高潮片免费视频韩国 | 免费中文视频 | 蜜桃传媒视频麻豆第一区免费观看 | 一区二区三区四区视频在线观看 | 欧美成a人片在线观看久 |