2012-07-06 73 views
0

我正在开发使用xmpp客户端的聊天应用程序。当我用一个帐户登录时,我可以发送和接收消息。我的问题是,当我用两个不同的帐户登录时,我无法使用第一个登录帐户发送消息。用于发送消息,我试图休耕代码:如何发送消息从xmpp中的不同帐户

- (void)sendMessage:(id)sender 
{ 
    xmppStream=[[self appDelegate] xmppStream]; 

    NSString *messageStr =messageField.text; 
    if([messageStr length] > 0) 
    { 

     NSXMLElement *body = [NSXMLElement elementWithName:@"body"]; 
     [body setStringValue:messageStr]; 
     NSXMLElement *message = [NSXMLElement elementWithName:@"message"]; 
     [message addAttributeWithName:@"type" stringValue:@"chat"]; 
     [message addAttributeWithName:@"to" stringValue:jidStr]; 
     [message addChild:body]; 
     NSLog(@"%@",message); 
    } 

} 

在该委托方法,我创建像休耕

-(void)setUpStream 
{ 
XMPPStream *xmppStream=[XMPPStream alloc] init] 
} 

当与另一个帐户我第二时间登录然后xmppStream对象与第二账户相关联的数据流对象但不适用于First账户。

所以我不能使用第一个帐户发送消息任何一个解决我的问题PLZ以及如何为两个帐户创建两个xmppStream对象;

回答

0

最简单的方法是在AppDelegate中创建xmppStream对象。

调用一个xmppStreamOne和xmppStreamTwo。

如果你想登录到许多不同的服务器,你甚至可以创建一个xmppStreams的NSMutableArray。

当您从AppDelegate中检索xmppStream时,请确保抓住正确的一个。