您的位置:首页 > 运维架构

XMPP(服务器Openfire)框架下,修改用户密码

2014-03-26 20:23 996 查看
1.先按照协议0077中修改密码的XML修改自己的
{
/*
<iq type='set' to='shakespeare.lit' id='change1'>
<query xmlns='jabber:iq:register'>
<username>bill</username>
<password>newpass</password>
</query>
</iq>
*/
NSXMLElement *iq = [NSXMLElementelementWithName:@"iq"];
[iq addAttributeWithName:@"type"stringValue:@"set"];
[iq addAttributeWithName:@"to"stringValue:@"ubuntu-dev"];
[iq addAttributeWithName:@"id"stringValue:CHANG_PWD_id]; //#define
CHANG_PWD_id @"change1"确定id唯一就行

NSXMLElement *queryElement = [NSXMLElementelementWithName:@"query"xmlns:@"jabber:iq:register"];
[iq addChild:queryElement];

NSString *userNameStr = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"userName"];
NSXMLElement *username = [NSXMLElementelementWithName:@"username"];
[username setStringValue:userNameStr];

NSXMLElement *password = [NSXMLElementelementWithName:@"password"];
NSLog(@"self.tfNewPWDSure.text_______:%@",self.tfNewPWDSure.text);
[password setStringValue:self.tfNewPWDSure.text];

[queryElement addChild:username];
[queryElement addChild:password];

// NSLog(@"iq__%@",iq.description);//打印下XML流检查是否拼接正确
[[XMPPServiceshareInstance].xmppStreamsendElement:iq];//发送{XMPPStream被我封装进单例类XMPPService里}
[[XMPPServiceshareInstance].xmppStreamaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];//设置代理
}

#pragma make - xmppStream
- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq{

NSLog(@"__%@",iq.description);
/*
<iq xmlns="jabber:client" type="result" id="change1" from="ubuntu-dev" to="13333333333@ubuntu-dev/870efdcd"></iq>
*/
NSString *iqTypePWD = [[iq
attributeForName:@"type"]stringValue];
NSString *iqIDPWD = [[iqattributeForName:@"id"]stringValue];
NSLog(@"iqTypePWD:%@___iqTypePWD:%@",iqTypePWD,iqIDPWD);
if ([iqTypePWD isEqualToString:@"result"]&&[iqIDPWDisEqualToString:CHANG_PWD_id]) { //进行判断只有type="result" id="change1"时,密码修改成功

NSLog(@"OpenFire密码修改成功!");
}

return YES;
}
个人总结:XMPP框架不是万能的,但XML流是万能的,当XMPP无法满足你的需求时,用XML可以轻松搞定!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐