マルチユーザー チャット機能を実現するチャット アプリケーションに取り組んでいます。ルームに参加してメッセージを送信できますが、奇妙な問題に直面しています。ルームにメッセージを送信している間、メッセージが繰り返し/複製されます。この問題は送信者側 (ルームにメッセージを送信しているユーザー) にあり、ルーム内の他のユーザーは正しいメッセージを 1 つ受け取ります。
- (void)sendMessageWithBody:(NSString )messageBody andMessageId:(NSString) messageId
{
if ([messageBody length] == 0) return;
NSXMLElement *body = [NSXMLElement elementWithName:@"body" stringValue:messageBody];
XMPPMessage *message = [XMPPMessage message];
[message addAttributeWithName:@"id" stringValue:messageId];
[message addChild:body];
[self sendMessage:message];
}