2016-08-29 3 views
0

私はXMPPFrameworkとOpenfire Serverを使用するチャットアプリケーションを開発しています。私(usn2)がusn1にメッセージを送信すると、ofMessageArchieveのconversationIDでメッセージが作成されました。しかし、ログアウトしてもう一度ログインした後、チャットすると、新しい会話が作成されましたが(下の画像を参照)、このメッセージを既存の会話に追加します。これどうやってするの? @ShoaibアフマドGondalのが示唆したように、私はOpenfireを変更しますがログアウト後にOpenfire ConversationIDが変更されました

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

コードは、メッセージを送信します。それでも起こる enter image description here

+0

ここで提案するOpenfireの変更を適用できますか:https://stackoverflow.com/questions/39163681/retrieve-history-chat-openfire-xmpp-framework#comment65742736_39163681これをまだ経験していますか? –

+0

@ ShoaibAhmadGondal変更されましたが、影響を受けない可能性があります – maphongba008

答えて

0

MessageIdと会話IDは同じではありません。 MessageIdは送信するメッセージごとに生成されますが、ConversationIdはユーザーに基づいて生成します&セッション(多分)。それらを同じに保つには、メッセージアーカイブプラグインを変更するか、新しいプラグインを開発する必要があります。

+0

はい、私はMessageIdと会話IDが異なっていることを知っています。 1会話には多くのメッセージがあります。あなたは私の問題を誤解していますか?例:私はuser1、user2とチャット、conversationID = 1などの1つの会話が作成されます。しかし、1日後、user1とuser2が再びチャットすると、新しい会話(conversationID = 2)が作成されました。彼らは会話の中でチャットを継続したい1。そして私はこれをする方法を知りたいですか? – maphongba008

+0

私はあなたの問題を抱えているので、conversationIdはセッションに基づいて生成されるかもしれないと言いました(新しいセッサインを作成するたびにログインします)。 –

+0

私はこれを解決しました:D。あなたはそれをここで確認することができます:http://stackoverflow.com/questions/39163681/retrieve-history-chat-openfire-xmpp-framework/39236173#39236173 – maphongba008

関連する問題