2016-08-29 2 views
0

Ich entwickle eine Chat-App, die XMPPFramework und Openfire Server verwendet. Wenn ich (usn2) eine Nachricht an usn1 sende, wurde eine Nachricht in ofMessageArchieve mit conversationID erstellt. Aber nach dem Abmelden und wieder anmelden, wenn Chat, hat die neue Konversation erstellt (siehe Bild unten), aber ich möchte diese Nachricht zu bestehenden Konversation hinzufügen. Wie kann ich das machen?Openfire ConversationID hat sich nach dem Logout geändert

-Code-Nachricht senden:

let msg = XMPPMessage(type: "chat", to: XMPPJID.jidWithString(getJIDFromName(stateID))) 
msg.addBody(message) 
msg.addAttributeWithName("id", stringValue: stream.generateUUID()) 
stream.sendElement(msg) 

enter image description here

Obwohl ich Openfire verändert, wie @Shoaib Ahmad Gondal vorgeschlagen. Es passiert immer noch enter image description here

+0

Können Sie die Änderungen in OpenFire hier vorgeschlagen: https://StackOverflow.com/questions/39163681/retrieve-history-chat-openfire-xmpp-framework#comment65742736_39163681 und dann überprüfen, ob Sie noch dies erfahren? –

+0

@ShoaibAhmadGondal Ich habe geändert, aber es kann nicht beeinflussen – maphongba008

Antwort

0

MessageId und ConversationId ist nicht gleich. MessageId generiert für jede Nachricht, die Sie senden, aber ConversationId generiert basierend auf Benutzer & Sitzung (vielleicht). Um sie gleich zu halten, müssen Sie das Nachrichtenarchiv-Plugin ändern oder ein neues entwickeln.

+0

Ja, ich weiß MessageId und ConversationId sind unterschiedlich. 1 Konversation haben viele Nachrichten. Kannst du mein Problem falsch verstanden haben? Bsp: Ich bin Benutzer1, Chat mit Benutzer2, 1 Konversation wird zum Beispiel mit conversationID = 1 erstellt. Aber nach 1 Tag, wenn Benutzer1 und Benutzer2 erneut chatten, wurde eine neue Konversation (conversationID = 2) erstellt. Ich möchte, dass sie weiterhin in Konversation chatten1. Und ich möchte wissen, wie das geht? – maphongba008

+0

Ich habe Ihr Problem, so habe ich erwähnt, dass möglicherweise KonversationId basierend auf Sitzung generiert werden (jedes Mal, wenn Sie sich anmelden, die ein neues Sessoin erstellt), wenn ja, müssen Sie es anpassen. –

+0

Ich habe das gelöst: D. Sie können es hier überprüfen: http://stackoverflow.com/questions/39163681/retrieve-history-chat-openfire-xmpp-framework/39236173#39236173 – maphongba008

Verwandte Themen