0

agsXMPP 有问题。我想做的是以“User1”身份连接到openfire服务器(例如),检查我名册中的哪些用户在线并返回在线用户名集合。问题是,OnPresence 事件是最后一个事件(根据我的研究),它发生在每个在线用户身上。但是我怎么知道它什么时候完成了对所有在线用户的检查,所以我终于可以退回我的在线收藏了?有类似 OnPresenceEnd 事件吗?

请帮忙!

4

2 回答 2

0

不,没有那样的东西。xmpp 服务器在其自己的节中发送每个存在。XMPP 协议中没有任何内容可以告诉您现在已收到所有初始存在。

XMPP 是一种异步协议。尽可能保持您的代码异步并在每个 OnPresence 事件之后更新状态。

于 2012-07-27T11:51:40.733 回答
0

xcc.OnRosterItem += 新 agsXMPP.XmppClientConnection.RosterHandler(method_name1); xcc.OnRosterEnd += new ObjectHandler(method_name2); <---这就是你需要的

于 2013-03-16T16:53:58.300 回答