私は、XMPP サーバーを使用して Jabber チャット アプリケーションに取り組んでいます。2人のユーザーフレンドを作りたいので、mysqlクエリを使用して名簿を追加する必要があります。(1) ofRoster (2)ofRosterGroups の 2 つのテーブルにエントリを作成しました。両方のテーブルにエントリを作成しましたが、機能しません。
私が行方不明になっているものはありますか。管理パネルでこれを行うことができますが、やりたくありません。
openfire を使用していると思います (SQL のこれらのテーブルは、openfire セットアップのように見えます)。その場合、編集する必要があるテーブルは「ofGroupUser」です。ユーザーをグループに追加するには、そのテーブルに sql insert を実行する必要があります。ここで、グループ名はユーザーを追加するグループ、ユーザー名はグループに追加するユーザー、管理者はそのフラグです。ユーザーの権限 (単に 0 を使用)。挿入例は次のようになります。
INSERT INTO ofGroupUser VALUES("グループ名", "ユーザー", 管理者);
ただし、上記の投稿で述べたように、これはサーバーにすぐに影響しないため、これを行うための良い方法ではありません. これらの変更を有効にするには、サーバーを再起動する必要があります。なぜなら、openfire (または使用しているサーバー) はおそらく起動時にデータベースを読み取るだけだからです。すべてをキャッシュすると、要求に従ってデータベースを編集します (管理コンソールを介してユーザーまたはグループを追加するなど) が、そこから読み取られることはなく、サーバーの再起動が発生するまで追加は表示されません。
基本的に、手動で SQL 挿入を行うと、目的の結果が得られます。機能をテストするだけであれば、サーバーを再起動する限り問題なく動作します。Openfire を使用していて、Web UI 以外の方法でグループ管理作業を行う必要がある場合は、別のサーバーの使用を検討します。私の知る限り、openfire は、Web UI 以外の管理ではあまり優れていません。 これは、多くのオープン ソース xmpp サーバーのリストです。ejabberdをお勧めします(上記の投稿で述べたように) ejabberdctl と呼ばれる非常に優れた制御ツールがあり、mod_ctlextra と呼ばれる利用可能な拡張モジュールがあります (コマンドを一覧表示する man ページはここにあります)。)これにより、あなたが望んでいることを実行できるようになります。次に、SQLと再起動について心配する必要はありません。本来あるべきツールを使用するだけです。
また、補足として、ejabberd は、それを記述するために使用される言語の性質により、非常に効率的です: Erlang。素晴らしいもの。
それが役立つことを願っています!