我们正在IOS上使用客户端的XMPPFramework(https://github.com/robbiehanson/XMPPFramework)和服务器端的Ejabberd创建聊天应用程序。IOS XMPPFramework和连接客房
在群组聊天中,我们正在创建群组,然后加入该群组并邀请其他用户加入我们的群组。每当新受邀用户加入小组时,我们都会通知所有参与者新用户加入小组。然后当我们重新启动应用程序(kill并重新启动)时,我们存储该组的用户名并重新加入(您可以在下面找到示例),但在这种情况下,ejabberd将发送新用户加入的所有客户端小组,但我已经在这个小组中,唯一的区别是我重新启动了应用程序。 我如何区分这两件事?
NSString *nickName = [[NSUserDefaults standardUserDefaults]objectForKey:userNickName];
XMPPRoomMemoryStorage *roomStorage = [[XMPPRoomMemoryStorage alloc] init];
XMPPJID *roomJID = [XMPPJID jidWithString:uniqId];
XMPPRoom *xmppRoom = [[XMPPRoom alloc]initWithRoomStorage:roomStorage
jid:roomJID
dispatchQueue:dispatch_get_main_queue()];
[xmppRoom activate:xmppStream];
[xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];
[xmppRoom joinRoomUsingNickname:nickName history:nil];