XMPP 注销(Smack API),无需断开与服务器的连接
Posted
技术标签:
【中文标题】XMPP 注销(Smack API),无需断开与服务器的连接【英文标题】:XMPP Logout (Smack API) without disconnecting with the server 【发布时间】:2011-10-01 10:03:50 【问题描述】:我正在使用 smack API 连接到 Openfire 服务器。能够创建用户、登录和交换消息。 注销后,我希望在不断开与服务器连接的情况下完成我的活动(用户必须进入主屏幕)。 有人在这种情况下使用过 Smack API 吗?
【问题讨论】:
【参考方案1】:如果您在 android 上使用 smack,那么您应该考虑将应用程序的连接部分作为一项服务运行,该服务可以灵活地在后台运行。如果您的活动进入 onStop() 或 onDestroy() 状态,您将与服务器断开连接。
可以通过 YourConnection.disconnect 注销。如果您不想断开与服务器的连接,则必须改为更改您的状态。
【讨论】:
【参考方案2】:我在 Smack 文档中没有找到任何解决方案。 如果你做connect(),在disconnect()之后你会再次被认证,并且登录会抛出AlreadyAuthanticated异常。
但是,断开连接后,您可以销毁 XMPPConnection 对象并创建新的对象。
【讨论】:
以上是关于XMPP 注销(Smack API),无需断开与服务器的连接的主要内容,如果未能解决你的问题,请参考以下文章
使用 Smack API (xmpp) 从 Java 回调 JavaFX
Android基于XMPP Smack Openfire下学习开发IM连接断开重连