2016-05-18 1 views
0

ユーザーがSIDを知らずにオンライン/接続しているかどうかを確認しようとしています。私が得た唯一の方法は、最後の活動時間を確認することです。それがエラーを返した場合、それはオンラインであり、価値がある場合はオンラインではありません....ユーザーがオンラインであるかどうかを確認する方法が他にあるかどうかはわかりません。Strophe.js最後のアクティビティが動作しないようにするためのsendIQ

Ejabberdの特定のものを切り替える必要はありますか?

しかし、IQを送信すると、どちらも動作しません。

var iq = $iq({ 
      type: 'get', 
      id: 'last1', 
      to: "[email protected]" }) 
.c('query', {xmlns: 'jabber:iq:last'}); 
conn.sendIQ(iq); 

編集:リクエストしているエンティティに最後のアクティビティ情報を取得する権限がないことがわかりました。どうすればいいですか?私は管理者です

答えて

0

最後にアクティビティ情報を取得するには、そのユーザーのロースター一覧に追加する必要があります。 A最後に見た活動がBになるようにしたい場合は、AをBのロスターリストに追加する必要があります。

だから、最後に見た情報にアクセスする前に、お互いのロスターリストにAとBを追加する必要があります。 セットロスターまたはejabberd ejabberdctl管理ツールを使用して、互いにロスターリストを追加することができます。

あなたが既に有効になっていると思います。mod_lastモジュールがejabberd構成になっています。

関連する問題