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

  • 本文关键字:消息 XMPP iphone 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 对象与第二个帐户相关联,但不与第一个帐户相关联。

所以我无法使用第一个帐户发送消息.任何人都可以解决我的问题以及如何为两个帐户创建两个 xmppStream 对象;

最简单的

方法是在 AppDelegate 中创建 to xmppStream 对象。

调用一个 xmppStreamOne 和 xmppStreamTwo。

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

当您从应用程序代表检索 xmppStream 时,请确保获取正确的一个。

最新更新