0

名簿メカニズムに問題があり、JSJaC JavaScript ライブラリを使用しています。

私の場合:

ユーザー A には、サブスクリプションが "both" の別のユーザー B を含む単純な名簿があります。ユーザー B も同じ構成です。

ユーザー A が openfire にログインしているときに、ユーザーの友人のリスト (私の場合はユーザー B のみ) を返す "getRoster()" 関数を呼び出しますが、ユーザー B が現在チャット可能かどうかを確認するにはどうすればよいですか?

いくつかのプレゼンス メカニズムがあることはわかりましたが、これらをどのように使用できるかわかりません。

私の下手な英語でごめんなさい。ありがとう。

4

2 に答える 2

0

presenceハンドラーを登録する必要があります。ユーザーデータの配列として名簿があると仮定すると、次のように実行できます。

xmpp.registerHandler 'presence', (response) ->
  user = _.find @roster, jid: (response.getFrom().split '/').shift()
  if user
    if response.getType() is 'unavailable'
      user.online = no
    else
      user.online = yes
于 2014-01-20T18:17:35.220 に答える
0

自分のプレゼンスをサーバーに送信すると、サーバーは購読している連絡先のすべてのプレゼンスを送信し始めます。デフォルトでは、すべての連絡先をオフラインと見なす必要があります。

私は JSJaC に詳しくありませんが、おそらくプレゼンスが入ってくるコールバックがあります。

于 2012-11-30T20:05:36.340 に答える