IOS基于XMPP协议开发--XMPPFramewok框架(二):服务器连接

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

连接服务器前需准备事项:

1.搭建好XMPP服务器

2.设置服务器地址和端口

[_xmppStream setHostName:@"127.0.0.1"];

[_xmppStream setHostPort:5222];

3.调用connect

关键项:

JID-格式必须为 "用户名"+"@"+"服务器地址",示例 :user@127.0.0.1

连接服务器必须进行JID设置,如果还没有账号可以设置任意值

具体代码如下:

- (BOOL)connect:(NSString*)user withpassWord:(NSString*)pwd

{

if(user !=nil) {

user= [NSString stringWithFormat:@"%@@%@",user,_xmppStream.hostName];

}if(![_xmppStream isDisconnected]) {if(_isLogined){

NSError*error =nil;

password=pwd;

[[self xmppStream] setMyJID:[XMPPJID jidWithString:user resource:@"ios"]];if(![[self xmppStream] authenticateWithPassword:password error:&error])

{

NSLog(@"Error authenticating: %@", error);

}

}returnYES;

}

NSString*myJID =user;

NSString*myPassword =pwd;if( myPassword !=nil) {

password=myPassword;

}if(myJID !=nil) {

[_xmppStream setMyJID:[XMPPJID jidWithString:myJID resource:@"ios"]];

}else{

[_xmppStream setMyJID:[XMPPJID jidWithString:_xmppStream.hostName resource:@"ios"]];

}

NSError*error =nil;

[_xmppStream connectWithTimeout:10error:&error];if(error)

{

NSLog(@"连接失败%@",error);

}returnYES;

}

连接返回的回调结果

///连接成功- (void)xmppStreamDidConnect:(XMPPStream *)sender

{

NSLog(@"连接成功");

isXmppConnected=YES;if(_isLogined){

NSError*error =nil;if(![[self xmppStream] authenticateWithPassword:password error:&error])

{

NSLog(@"Error authenticating: %@", error);

}

}

}///连接失败- (void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error

{

NSLog(@"连接断开");if(!isXmppConnected)

{//DDLogError(@"Unable to connect to server. Check xmppStream.hostName");}

}

断开连接

[_xmppStream disconnect];

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航