0

agsXMPP に問題があります。私がやりたいことは、「User1」としてopenfireサーバーに接続し(例として)、名簿のどのユーザーがオンラインであるかを確認し、ONLINEユーザー名のコレクションを返すことです。問題は、OnPresence イベントが (私の調査によると) 最後のイベントであり、オンライン ユーザーごとに発生することです。しかし、すべてのオンライン ユーザーのチェックが終了したことをどのように知ることができるので、最終的にオンライン コレクションを返すことができるのでしょうか? OnPresenceEnd イベントのようなものはありますか?

助けてください!

4

2 に答える 2

0

xcc.OnRosterItem + = new agsXMPP.XmppClientConnection.RosterHandler(method_name1); xcc.OnRosterEnd + = new ObjectHandler(method_name2); <---これはあなたが必要とするものです

于 2013-03-16T16:53:58.300 に答える
0

いいえ、そんなことはありません。xmpp サーバーは、すべてのプレゼンスを独自のスタンザで送信します。また、XMPP プロトコルには、すべての初期プレゼンスが現在受信されていることを示すものは何もありません。

XMPP は非同期プロトコルです。可能であれば、コードも非同期に保ち、各 OnPresence イベントの後にプレゼンスを更新します。

于 2012-07-27T11:51:40.733 に答える