Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在xmpp中从不同的帐户发送消息_Iphone_Xmpp - Fatal编程技术网

Iphone 如何在xmpp中从不同的帐户发送消息

Iphone 如何在xmpp中从不同的帐户发送消息,iphone,xmpp,Iphone,Xmpp,我正在使用xmpp客户端开发聊天应用程序。当我使用一个帐户登录时,我可以发送和接收消息。我的问题是,当我使用两个不同的帐户登录时,我无法使用第一个登录帐户发送消息。为了发送消息,我尝试了以下代码: - (void)sendMessage:(id)sender { xmppStream=[[self appDelegate] xmppStream]; NSString *messageStr =messageField.text; if([messageStr le

我正在使用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);
     }

}
在这个委托方法中,我创建了类似fallowing的流对象

-(void)setUpStream
{
XMPPStream *xmppStream=[XMPPStream alloc] init]
}
当我第二次使用另一个帐户登录时,xmppStream对象与第二个帐户关联,但不与第一个帐户关联


所以我不能使用第一个帐户发送消息。有人能解决我的问题吗?plz以及如何为两个帐户创建两个xmppStream对象

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

调用一个xmppStreamOne和xmppStreamTwo

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

从AppDelegate检索xmppStream时,请确保获取正确的xmppStream