0

追加機能を備えた多数の MUC チャットが必要です。

  1. ユーザーの部屋をコードから手動で変更する

  2. 特別な「システム」呼び出しを処理します (たとえば、/changeroom のような呼び出しは全員に転送する必要はありませんが、システムによって処理されます)

  3. ユーザーに関する多くの追加データを mnesia テーブルに保存する

  4. すべての履歴を hdd の db のどこかに保存し、要求に応じて返します。

頭に浮かぶ唯一のこと (2 番目のポイントについて) は、package_fillter イベントを処理するすべてのパッケージをキャッチすることです。しかし、それは重すぎるようです。

何をアドバイスできますか?

4

1 に答える 1

0

あなたのアプローチがやり過ぎであることを確認します。すべてのパケットを処理する必要はないようです。

MUC XMPP 拡張の機能が十分でない場合は、カスタム MUC モジュール拡張を作成する必要があります (XEP-0045)。

ejabberd 15.07以降、新しいフック API が導入されmuc_filter_packetました。これにより、サーバー全体のすべてのパケットをリッスンすることなく、MUC パケット処理のみを拡張する ejabberd モジュールを簡単に作成できます。

于 2012-01-30T08:03:45.413 に答える