我在聊天应用程序的Android设备中使用持久的xmpp连接。为了保持连接打开,我想使用TCPHEARTBEAT机制。我只想知道心跳步骤何时完成:1.whenapacketissentonserverandaresponsecomesfromserver(Twosteps)2.Orjustpacketsendingisdonefromclientside(1step)如何使用smack库来实现。正在使用KeepAliveManager类吗? 最佳答案 只需使用XMPPPings到服务器作为心跳。(a)Smack会自动执行此操作。您可
我最近在我的ArchLinux机器上从github编译了最新的ejabberd代码。我是ejabberd的新手,所以我可能犯了一个新手错误。我遇到了一个问题,即在特定情况下数据包无法到达目标客户端。如果消息是在之后客户端断开连接但之前客户端session因resume_timeout而关闭时发送的,则会发生这种情况。我已按照此处提到的说明进行操作https://www.ejabberd.im/faq/tcp,但我仍然无法处理所有情况。我的ejabberd.yml的相关部分看起来像listen:-port:5222module:ejabberd_c2smax_stanza_size:65
我正在尝试使用smack4.1.0运行此代码ThreadD=newThread(newRunnable(){@Overridepublicvoidrun(){SmackConfiguration.setDefaultPacketReplyTimeout(10000);XMPPTCPConnectionConfigurationconfig=XMPPTCPConnectionConfiguration.builder().setUsernameAndPassword("harsh","pass").setServiceName("192.168.0.200").setHost("192.
我正在使用aSmack库与远程xmpp服务器进行通信。我可以发送/接收消息,但我想获取传入消息的时间戳。你能告诉我,这可能吗?因为我找不到关于这个问题的任何信息。提前致谢 最佳答案 时间戳不是常规消息的一部分。因此,您无法提取它。有一个规范(如@Dmitry所述),但这仅适用于特定类型的消息。通常那些不是实时的,例如离线和在创建新订阅时发布节点的最后一条pubsub消息。这些消息具有内置的固有延迟。 关于android-如何获取传入xmpp消息的时间戳?,我们在StackOverflow
我正在使用aSmack库与远程xmpp服务器进行通信。我可以发送/接收消息,但我想获取传入消息的时间戳。你能告诉我,这可能吗?因为我找不到关于这个问题的任何信息。提前致谢 最佳答案 时间戳不是常规消息的一部分。因此,您无法提取它。有一个规范(如@Dmitry所述),但这仅适用于特定类型的消息。通常那些不是实时的,例如离线和在创建新订阅时发布节点的最后一条pubsub消息。这些消息具有内置的固有延迟。 关于android-如何获取传入xmpp消息的时间戳?,我们在StackOverflow
我是android中xmpp/asmack的新手。任何人都可以帮助我获得用户的friend(花名册)的存在我正在使用这个:Presenceavailability=roster.getPresence(user);ModeuserMode=availability.getMode();我还应该做些什么来获取我的名册中列出的每个用户的可用性状态。 最佳答案 就这样使用吧:Presenceavailability=roster.getPresence(user);ModeuserMode=availability.getMode();r
我是android中xmpp/asmack的新手。任何人都可以帮助我获得用户的friend(花名册)的存在我正在使用这个:Presenceavailability=roster.getPresence(user);ModeuserMode=availability.getMode();我还应该做些什么来获取我的名册中列出的每个用户的可用性状态。 最佳答案 就这样使用吧:Presenceavailability=roster.getPresence(user);ModeuserMode=availability.getMode();r
我在使用smack构建小型XMPP客户端/机器人时遇到了一种非常奇怪的行为。我设置了连接以及ConnectionListener和ChatManagerListener。这工作得很好,然后我可以与我在可移植设备上运行的应用程序聊天。为了测试失去连接时的行为,我拔掉了可移植设备的以太网电缆。我希望XMPP客户端失去连接,并且用户将在用户好友名册中设置为“离线”。发生的情况是,该用户仍然显示为“在线”,而我的客户端的ConnectionListener什么也没触发,无论是connectionClosed还是reconnectionFailed还是其他。当我重新插入以太网电缆时,有时连接似乎
是否可以检查当前用户是否是管理员/如何检查当前用户详细信息?(Android中的Javasmack+openfire)?当我尝试在openfire管理网页上创建用户时。有一个选项:是管理员?(授予管理员访问Openfire的权限)可以知道当前用户是否有Openfire的管理员权限?(我的意思是smack,如何检查当前用户是OpenFire的管理员) 最佳答案 试试这个,account=Connection.getAccountManager();Collectionattrs=account.getAccountAttributes
详细信息如下,但基本上我是想了解我的Droid上是什么引发了这个错误。详细信息:我正在努力跟上C2DM的步伐。我正在测试使用UrbanAirship的推送通知服务(到目前为止IMO非常酷)通过C2DM向在Android上运行的应用程序发送通知。我的Droid(运行Android2.2.2)不显示通知,每次我认为设备收到通知时,我都会看到堆栈跟踪写入LogCat。我不知道是什么生成了堆栈跟踪。我知道每次我通过UrbanAirship的网站向设备发送推送通知时都会生成它。我相当确定我的C2DM、UrbanAirship和Android应用程序配置正确,因为我可以在Android模拟器上使用