2016-08-03 8 views
0

I OpenfireとXMPPを使用してグループチャットを正常に実装しました。オフラインメッセージopenfire XMPPを取得するには?

ユーザーAがオフラインのユーザーBにメッセージを送信すると、ユーザーBがオンラインになったときに、サーバーから未読/オフラインのメッセージをすべて取得できます。

私は部屋に参加するためにこのようなものをやっているが、それは、サーバーからすべてのメッセージを取得:

- (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]; 
} 

は、どのように私はそれらのオフラインメッセージを取得できますか?

答えて

0

XMPP標準では、チャットメッセージは1つだけオフラインストレージに適格であるため、type = "groupchat"のメッセージはXMPPサーバーのオフラインストレージには決して格納されません。

MUC XEPによると、ユーザーがオフラインになった場合、それ以上は参加者としてカウントされません。したがって、ユーザーがオンラインになると、プレゼンス・パケットをルームに送信して会議室に参加する必要があります。

関連する問題