问题标签 [smack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9065 浏览

java - 如何在 java 中使用 Smack XMPP 库处理 TLS 证书

嗨,大家好。我刚刚开始在 Java 中使用 XMPP,包括服务器端和客户端。在服务器端,我使用的是 Apache Vysper 0.7,在客户端,我使用的是 Ignite Smack 3.1.0,我使用的是 apache vysper 演示页面中的一个小型 XMPP 嵌入式服务器,使用的是源代码附带的 TLS 证书:

问题是这不是一个正确/有效的证书。如果我使用 pidgin 测试我的服务器,则会弹出一个警报窗口并告诉我证书无效,并提供一个按钮,以防我想为此添加例外。

我想要的是用 Smack api 做同样的事情,但我不知道怎么做。

在我的 smack api 上,我正在使用这样的东西:

所以就在这里。我需要做什么来接受或拒绝无效证书?谢谢你的帮助。

0 投票
2 回答
3407 浏览

java - 我如何从客户端知道某个帐户是否存在于 XMPP 服务器中?

我正在使用 Smack 库开发 IM 应用程序,但遇到了一些问题。

我想知道是否可以通过服务器中的用户名检查用户是否存在。我的应用程序必须检查系统联系人列表中的人是否在我的服务器中开设了一个帐户,并且他们不在他们的朋友列表中。

到目前为止,我设法将系统联系人列表中的每个联系人添加到我的用户的服务器联系人列表中——即使他们事先没有帐户——但这不是我想要的。

这是代码(Contact 就像 Smack 的 RosterEntry 的包装类):

如果有帮助,我目前正在使用 Openfire 作为服务器。

0 投票
0 回答
1157 浏览

android - XMPP 聊天在 Android 和 iOS 设备之间不起作用?

我正在 Android 和 iOS 上开发一个 XMPP 聊天应用程序。

iPhone模拟器和iOS设备之间的聊天工作正常。它也适用于 Android 模拟器和 Android 设备。但是,它不适用于 android 设备和 iOS 设备。

有人可以向我建议我做错了什么吗?

提前致谢..

更新:

消息是从 Android 设备发送到 iOS 设备,但不是从 iOS 到 android。

我将它用于Android:

我在 iOS 上使用了这个:

0 投票
5 回答
15922 浏览

java - 如何使用订阅模式“两者”添加名册

我正在使用 smack 3.1.0,当我添加花名册时,我无法订阅“两者”。谁能帮我?下面是我的代码:

代码执行后,我在 openfire 中观察到订阅是“to”

0 投票
1 回答
1028 浏览

xmpp - 如何通过 smack 找出 JID 的给定资源是否在线/离线

我怎么知道 juliet@verona.it/balkony(完整的 JID!)在线/仍然可以通过 smack 获得?

0 投票
5 回答
5748 浏览

android - XMPP:Asmack 连接 PacketListener 问题...

我正在使用 asmack api 进行 Android XMPP 集成...

在成功验证 xmpp 连接后,我已使用 PacketListener 进行传入消息通知。

我的应用程序是基于选项卡的应用程序。当我通过单击好友列表移动到聊天活动时,我的数据包侦听器被添加到 OnCreate 方法中的连接中。

问题是,我移动到此屏幕的次数与添加的听众数量一样多,并且我多次收到相同的消息。

这个问题的任何解决方案?

0 投票
1 回答
1673 浏览

xmpp - 如何使用给定的 From 或 ReplyTo 发送 XMPP 消息?

我想从我的 Web 应用程序中发起两个用户 A 和 B 之间的聊天。所以我使用 Smack 客户端 API 或直接从 OpenFire 插件创建 XMPP 消息:

  • 通过 Smack 从 A 向 B 发送消息
  • 通过 Smack 从服务器向 B 发送消息并回复 A

XEP-0033 允许 OpenFire 支持但 IM 客户端不支持的“回复地址”。

客户端或 OpenFire 插件似乎无法覆盖“来自”。我还认为 GTalk 不会通过 ServerToServer 协议接受从 userA@gmail.com 到 userB@gmail.com 的 xmpp 消息。

还有其他方法可以做到这一点吗?我希望我的 Web 应用程序伪造从 UserA 到 UserB 的消息。但是这个 webapp 不是 A 或 B。

最好的问候,JP

0 投票
3 回答
8179 浏览

java - 在带有 aSmack 的 XMPP 中使用 UserSearch 时,getSearchForm 返回 null

我有这段代码,几乎没有从示例中修改:

这在桌面环境中完美运行,使用 Smack 库,但我无法让它在 Android 中工作(我必须使用 asmack)。

问题是 searchForm 为 null,因为 getSearchForm 返回 null。这似乎很奇怪,因为我似乎找不到任何关于该方法应该返回 null 的情况的文档。

如果有帮助,服务器是 Openfire。

0 投票
4 回答
12735 浏览

java - 如何在 Openfire 中使用 smack

您好我正计划开发一个可以连接到 gtalk facebook 等的聊天客户端...我决定使用 smack API 和 openfire ..

但是我需要很少的指导来了解如何将它与 openfire 服务器一起使用..

openfire是否提供了一个基本的用户界面,比如登录框聊天窗口等......

我需要知道如何使用 openfire 插入或使用 smack

谢谢:)

0 投票
3 回答
2696 浏览

android - XMPP Android - 无法创建 MultiUserChat

我正在使用 asmack 最新版本(现在)。而且我无法在 Android 上创建 MultiUserChat。

这是我在日志中得到的:

E/AndroidRuntime(558): java.lang.ClassCastException: org.jivesoftware.smack.packet.DefaultPacketExtension E/AndroidRuntime(558): at org.jivesoftware.smackx.muc.MultiUserChat.getMUCUserExtension(MultiUserChat.java:2000) E/ AndroidRuntime(558):在 org.jivesoftware.smackx.muc.MultiUserChat.create(MultiUserChat.java:364) ....

谁能帮我解决这个错误?谢谢!