2016-08-03 25 views
0

I Gruppenchat wurde erfolgreich mit Openfire mit XMPP implementiert.Wie Offline-Nachricht Openfire XMPP abrufen?

Wenn nun Benutzer A eine Nachricht an Benutzer B sendet, der offline ist, also wenn Benutzer B online ist, wie kann ich alle ungelesenen/Offline-Nachrichten vom Server abrufen.

Ich mache dieses Zeug, das Zimmer zu kommen, aber es alle Nachrichten vom Server bekommen:

- (void) getJoinRoom 
{ 
    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()]; 

    [xmppRoom joinRoomUsingNickname:self.xmppStream.myJID.user 
          history:nil 
          password:nil]; 
} 

Wie hole ich diese Offline-Nachrichten?

Antwort

0

Gemäß dem XMPP-Standard sind nur One-One-Chat-Nachrichten für die Offline-Speicherung geeignet, sodass Nachrichten vom Typ "groupchat" niemals im Offline-Speicher auf XMPP-Servern gespeichert werden.

Wenn ein Benutzer offline geht, zählt er nicht mehr als Teilnehmer des Raums. Wenn der Benutzer online ist, muss er sich dem Raum anschließen, indem er ein Anwesenheitspaket in den Raum sendet.