我正在使用XMPP协议(ejabberd)开发IOS聊天应用程序。我的聊天室是在我的服务器上创建的,它将roomID返回给我。
我在房间/小组聊天中遇到问题。当我发送一条消息时,它会重复多次,比如3到4次。如何解决这个问题。我的代码在这里
XMPPJID *roomJID = [XMPPJID jidWithString:[roomDict objectForKey:KEY_group_id]];
XMPPRoom *xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:xmppRoomCoreDataStorage jid:roomJID dispatchQueue:dispatch_get_main_queue()];
[xmppRoom activate:[ChatHandler sharedInstance].xmppStream];
[xmppRoom addDelegate:self
delegateQueue:dispatch_get_main_queue()];
[self insertRoomObjectWithDictionary:roomDict];
[xmppRoom joinRoomUsingNickname:[[ChatHandler sharedInstance] xmppStream].myJID.user
history:nil
password:@""];
[xmppRoom fetchConfigurationForm];
return xmppRoom;
答案 0 :(得分:1)
以下代码段为我工作..尝试使用代码... 我在发送消息的同时发送了我的设备的uuid作为孩子,并在传入消息时检查了相同的uuid:
{{1}}
答案 1 :(得分:0)
我使用xmpp ejabbered有相同的聊天应用程序。我也面临同样的问题。在我的情况下,在xmpp服务器上,他们已将脱机消息存储设置为100.如果处于脱机模式,则消息限制超过100然后从第101条消息我将退回该消息。因此,作为解决方案,我们将离线消息限制更改为500。
{mod_offline_odbc, [
{user_max_messages, 500}
]}