0

SID を知らなくても、ユーザーがオンライン/接続しているかどうかを確認する方法を見つけようとしています。私が得た唯一の方法は、最後の活動時間を確認することです。エラーが返された場合はオンラインです。値がある場合はオンラインではありません....ユーザーがオンラインかどうかを確認する他の方法があるかどうかはわかりません。

Ejabberd で特定のものをオンにする必要がありますか?

しかし、IQ を送信しても機能しません。

    var iq = $iq({
          type: 'get',
          id: 'last1',
          to: "jay@server.com" })
.c('query', {xmlns: 'jabber:iq:last'}); 
conn.sendIQ(iq);

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

4

1 に答える 1

0

最後のアクティビティ情報を取得するには、ユーザーを自分の名簿リストに追加する必要があります。A がBの最後に確認されたアクティビティを取得したい場合、 Aを B の名簿リストに追加する必要があるとします。

そのため、最後に見た情報にアクセスする前に、A と B を互いの名簿リストに追加する必要があります。set rosterまたは ejabberd ejabberdctl管理ツールを使用して、互いの名簿リストに追加できます。

また、ejabberd 構成でmod_lastモジュールを既に有効にしていると思います。

于 2016-05-21T19:57:53.870 に答える