6

iOS クライアント (および XMPPFramework ) を使用して ejabberd基づくチャット システムを構築しています。

私の現在のチャット システムは、MySQL データベースにチャット履歴を保存するユーザー間の 1 対 1 の会話のみをサポートしています。

同じチャット システムを再作成するには、新しいチャット システムに切り替えたときにユーザーが以前の会話を失わないように、データベースからチャット履歴を取得する ejabberd が必要です。

iOS アプリは削除して再インストールできる (またはユーザーがデバイスを切り替える可能性がある) ため、クライアント側で会話を保存したくありません。

ejabberd に MySQL データベースからチャット履歴を読み取らせることは可能ですか?

4

2 に答える 2

4

これはmod_archive_odbcで可能になるはずです。これは、SVN でhttp://svn.process-one.net/ejabberd-modules/をチェックアウトすることで見つけることができる追加の ejabberd モジュールです。Debian でモジュールをビルドしてインストールする方法の例は、ここにあります

于 2012-04-16T11:34:15.383 に答える
3

質問は少し古いですが、誰かがまだ興味を持っているなら。

これは、メッセージ アーカイブ管理 ( http://xmpp.org/extensions/xep-0313.html )によって実現できます。

この XEP の最も完全な実装は、MongooseIM (ejabberd のフォーク) にあります。 https://github.com/esl/MongooseIM/blob/master/apps/ejabberd/src/mod_mam.erl

ProcessOne のページは、このページ ( http://www.process-one.net/en/ejabberd/#getejabberd )でアーカイブをサポートしていると主張していますが、このページ ( http://www.process-one ) には言及がありません。 net/en/ejabberd/protocols/ . カスタム仕様を使用しているようです。

モジュールが呼び出す関数の引数がわずかに異なるため、MongooseIM の mod_mam を processone ejabberd で直接使用することはできないことに注意してください。

于 2015-01-21T10:38:03.747 に答える