我正在使用 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 对象;