xmpp クライアントを使用してチャット アプリケーションを開発しています。一つのアカウントでログインするだけでメッセージの送受信ができます。私の問題は、2 つの異なるアカウントでログインすると、最初のログイン アカウントを使用してメッセージを送信できないことです。メッセージを送信するために、次のコードを試しました:
- (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]
}
別のアカウントで 2 回目にログインすると、xmppStream オブジェクトは 2 番目のアカウントに関連付けられますが、最初のアカウントには関連付けられません。
そのため、最初のアカウントを使用してメッセージを送信できません。誰かが私の問題を解決できますか plz と、2 つのアカウントに対して 2 つの xmppStream オブジェクトを作成する方法。