3

OpenFireサーバーを実行していて(データベースとしてMySQLを使用しています)、PHP httpプリバインドシステム(SASLを使用)をWebアプリで動作させようとしています。

まだオンラインになっていない(ゲストユーザー用の)ランダムなユーザー名を選択する必要があるアプリの一部にアクセスしました。ランダムなユーザー(作成したGuestsグループ内)を選択し、Presence Serviceプラグインを使用して、使用可能なユーザー(オフラインのユーザー)が見つかるまでオンラインステータスを確認することを考えていました。

オフライン/オンラインユーザーのリストを取得するためのより良い方法はありますか?

サーバーはユーザーのオンラインステータスをデータベースに保存しますか?私はOpenFireデータベースを見回してきましたが、理解できません。

ありがとう。

4

2 に答える 2

3

私はOpenfire用の小さなプラグインを作成しました(Openfire APIドキュメントを掘り下げることなくプラグインできる他の非常に単純なプラグインの助けを借りて)、基本的にオンラインでユーザーのJSONエンコードリストを吐き出します。次に、これを取得してjson_decodeを実行し、配列を循環します。現時点ではソースが見つかりませんが、他の誰かがこれを作成したようです。

http://community.igniterealtime.org/thread/45107

編集:

上記の投稿にリンクされているGithubプロジェクトがなくなったことに気づきましたが、彼らに連絡して、まだそれが残っているかどうかを確認します。

別の編集:

Githubリポジトリへのリンク:https ://github.com/candy-chat/onlineUsersPlugin

于 2012-06-05T12:12:10.407 に答える
1

ユーザー名簿では、オンラインとオフラインのユーザーを取得できます。また、名簿からオンラインユーザーのステータスメッセージを取得できます。

しかし、そのためには、そのユーザーのプレゼンスをサブスクライブする必要があります。そのユーザーを名簿に追加するだけでは十分ではなく、そのユーザーのプレゼンスをサブスクライブする必要があります。そうすれば、他のユーザーのプレゼンスを取得できます。

于 2012-06-05T12:16:01.463 に答える