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

1.先按照协议0077中修改密码的XML修改自己的

{

/*

<iq type=’set’ to=’shakespeare.lit’>

<query xmlns=’jabber:iq:register’>

<username>bill</username>

<password>newpass</password>

</query>

</iq>

*/

stringValue

stringValue

stringValue#define CHANG_PWD_id @"change1"确定id唯一就行

:@"jabber:iq:register"];

[iq addChild:queryElement];

standardUserDefaults

NSXMLElement *username = [NSXMLElementelementWithName:@"username"];

[username setStringValue:userNameStr];

NSXMLElement *password = [NSXMLElementelementWithName:@"password"];

@"self.tfNewPWDSure.text_______:%@"

[password setStringValue:self.tfNewPWDSure.text];

[queryElement addChild:username];

[queryElement addChild:password];

// NSLog(@"iq__%@",iq.description);//打印下XML流检查是否拼接正确

shareInstancesendElement:iq];//发送{XMPPStream被我封装进单例类XMPPService里}

shareInstanceaddDelegatedelegateQueue

}

#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];

attributeForNamestringValue];

@"iqTypePWD:%@___iqTypePWD:%@",iqTypePWD,iqIDPWD);

if ([iqTypePWD isEqualToString:@"result"]&&[iqIDPWDisEqualToString:CHANG_PWD_id]) { //进行判断只有type="result" id="change1"时,密码修改成功

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

}

returnYES;

}

个人总结:XMPP框架不是万能的,但XML流是万能的,当XMPP无法满足你的需求时,用XML可以轻松搞定!

,累死累活不说,走马观花反而少了真实体验,

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

相关文章:

你感兴趣的文章:

标签云: