Smack on Android,通过本地Openfire服务器在两个用户之间发送数据包/消息时收到错误代码=“404”remote-server-not-found

时间:2012-03-23 11:48:29

标签: android xmpp openfire smack asmack

我很高兴通过本地Openfire服务器在Android上实现smack,它连接到Gmail服务器主机,它就像魅力一样。教程找到了here

但是当我尝试通过安装了本地Openfire服务器的Android模拟器连接两个用户时,我收到错误(粘贴在下面)。

03-23 16:24:01.392: DEBUG/SMACK(233): 04:24:01 PM SENT (1155246128): <message id="t0tgA-5" to="justestingchat2" type="chat"><body>hi</body></message>
03-23 16:24:07.032: DEBUG/SMACK(233): 04:24:07 PM RCV  (1155246128): <message id="t0tgA-5" to="justestingchat@admin-pc/Smack" from="justestingchat2" type="error"><error code="404" type="cancel"><remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>
03-23 16:24:07.062: INFO/System.out(233): Received message: null

以下是我的系统级描述:

  • 我正在尝试通过Android中的两个模拟器连接两个用户名,电子邮件和密码不同的用户。
  • 当用户登录Presence presence = new Presence(Presence.Type.available);时,用户在Openfire仪表板中显示“在线状态 - 可用”
  • 从上面粘贴的错误代码消息ID是相同的,我想这没有问题。 (如果我错了,请纠正我)
  • 我使用上面教程code
  • 中提供的Packet Listener
  • 我还尝试使用聊天管理器使用此code收听消息 但没有用它返回“Null”

有人可以帮我解决实际上有什么问题吗?如果它可以与谷歌谈话为什么不是本地服务器?或者是因为使用模拟器?

更新1:

找出问题所在!我下载了Spark客户端并进行了一些测试。我发现我能够将数据包/消息从Spark发送到Android客户端,但不能从Android发送到Spark,这给我一个错误404!任何人仍然可以帮助我至少一些线索请?

1 个答案:

答案 0 :(得分:17)

你的Android代码错了。您正在将消息发送给不包含xmpp域 justestingchat2 的Jid。尝试将您的消息发送到 justestingchat2 @ admin-pc