Openfireでグループチャットを作成しました& XMPP。履歴からメッセージを取得中に重複メッセージを取得する
私はOpenfireサーバーから「since」を使用してルームに参加している履歴を取得しています。それは地元からの最後のメッセージの日付を取得し、その日付以降のすべてのメッセージを取得するためにサーバーに送信し、ログインするとき、私は現地ので、次回のユーザーにメッセージを保存
XMPPRoomMemoryStorage *roomStorage = [[XMPPRoomMemoryStorage alloc] init];
XMPPJID *roomJID = [XMPPJID jidWithString:chatWithUser];
xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:roomStorage
jid:roomJID
dispatchQueue:dispatch_get_main_queue()];
[xmppRoom activate:self.xmppStream];
[xmppRoom addDelegate:self
delegateQueue:dispatch_get_main_queue()];
NSXMLElement *history = [NSXMLElement elementWithName:@"history"];
[history addAttributeWithName:@"since" stringValue:finalDate];
[xmppRoom joinRoomUsingNickname:self.xmppStream.myJID.user
history:history
password:nil];
: はここに私のコードです。
finalDate is date from that i fetch from local and send it to server.
しかし、私は、サーバーにfinalDate
を送信するとき、それは私はすでにローカルデータベースに保存されていることも、最後のメッセージを取り出すことが何であるかをhappern。
localDBからの私の最後のメッセージが 'Hi'で日付 '2016-08-08T04:52:42.347Z'よりもサーバーから 'Hi'をフェッチする場合。
これはどうしてですか?私は、日付の後にサーバーからのメッセージが欲しい。
これはあなたに価値があるか等しいかを示しています。過去のメッセージと同じ場合は、それもあなたに与えられたものを意味します。 –
それを克服する方法は? – Kabali
最終日に数秒を追加.... –