问题标签 [libstrophe]

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 投票
1 回答
2141 浏览

objective-c - 如何使用 libstrophe 构建一个 jabber 客户端

我正在尝试使用libstrophe库制作一个简单的 Jabber 客户端。

到目前为止进展顺利,除了我需要澄清的一件事。

即,我应该如何(持续地)知道联系人的状态(即在线/离线),以便我可以将其显示给我的程序的用户?同样,我应该如何请求用户名册?

我查看了roster.clibstrophe 提供的示例,但只打印了一次名册。在一个真实的应用程序中,我需要不断地请求/更新它,以便在应用程序中显示用户添加的任何新联系人等。

因此,基本上,我不清楚如何确保始终在用户的联系人列表中显示最新的花名册和人员的最新状态。

例如,我是否应该在某个预定义的时间间隔请求名册?

0 投票
1 回答
924 浏览

c - 如何使用 libstrophe 在 Jabber 中获取用户的头像

如何获取用户 XMPP/Jabber 名册中所有联系人的头像?

我之前问过这个问题,在实现<presence>处理程序时,我注意到我的应用程序接收到的存在项是以下形式:

对我来说,这3FB991AA97D7701C21EAFE65FB866E4BFF1B927C部分看起来像是一个 SHA 哈希,但我怎样才能获得相关用户的实际头像?

0 投票
0 回答
522 浏览

xmpp - 节点形成但无法在 pubsub xmpp 中发布

我正在使用 libstrophe C 库创建 xmpp clint。我能够成功创建节点(打开节点)并发送其他用户的订阅请求,这些请求被添加。现在,当我尝试使用以下节发布时,

我明白了,

有什么建议么?我正在使用 ejabberd 作为服务器

0 投票
1 回答
411 浏览

xmpp - 如何从联系人列表中获取当前活跃成员?

XMPP 和库...

想:

  1. 从联系人列表中查询当前活跃成员(例如,Google 帐户中的绿色成员)
  2. 保持更新

示例代码赞赏,非常感谢您的帮助

0 投票
1 回答
1424 浏览

javascript - strophe.js 组邀请 - 未触发处理程序

我的邀请处理程序有问题。它永远不会被解雇。我可以看到来自群组的邀请:

但 on_message 处理程序不会被触发。因为没有定义类型。

当我把Chat.connection.addHandler(Chat.on_message,null, "message", null,null,null,null);

显示邀请,但随后所有消息组或聊天都由它处理。我希望我能够拥有

用于单独类型的消息。

我用这个绕了两天。帮助!?

换句话说,对于包含邀请的消息,应该在 addHandler 中添加什么?

更新

我必须把

在我邀请之前。

我不明白为什么会这样?有人有想法吗?

0 投票
1 回答
3334 浏览

c - xmpp 的 libstrophe 库的使用

我正在尝试使用 Libstrophe 在 C 中创建一个聊天客户端。我参考了https://github.com/metajack/libstrophe/blob/master/examples/active.c给出的以下代码示例 该代码调用了 xmpp_connect_client(...) 以建立与 xmpp 的连接服务器。

但是身份验证在哪里进行?我查找了 libstrophe 的源代码,发现 C 文件 auth.c https://github.com/metajack/libstrophe/blob/master/src/auth.c 有一个名为 _auth(..) 的函数。我尝试在我的代码中使用 _auth(..) 但它没有正确执行身份验证。即它不会通知我错误的用户名或密码。任何人都可以建议我验证我的实体的正确方法。

0 投票
0 回答
778 浏览

c - LIBSTROPHE 中的 TLS 启动错误

我想使用 libstrophe 库创建一个简单的聊天客户端。我写的代码如下。与 gmail 服务器的连接已建立。但我收到一个 TLS 错误,我无法解决。请suugest是什么导致了错误。

cmd 提示符(输出)是:

0 投票
1 回答
782 浏览

ssl - Strophe 不可恢复的 TLS 错误

我正在使用 libstrophe 在 C 中开发一个简单的 ejabberd 客户端。它连接并开始按应有的方式处理消息。

但是,过了一会儿(在来自 ejabberd 服务器的两到三个 ping 之后),我的连接关闭并且状态设置为DISCONNECTED. 下面是调试行的尾部:

我初始化并连接如下。

为什么我会收到 TLS 错误消息?

谢谢。

0 投票
0 回答
819 浏览

c++ - DecryptMessage 返回 SEC_E_UNSUPPORTED_FUNCTION

我已将 libstrophe 编译为 Windows 的 DLL。

在使用 Jabber 服务器进行授权期间,DecryptMessage()由于节来回传递,将调用 3 次。在前两个调用它返回0 (SEC_E_OK),但在第三个调用它返回0x80090302 (SEC_E_UNSUPPORTED_FUNCTION)问题是,根据文档不是 SEC_E_UNSUPPORTED_FUNCTION有效的返回值。这在 Windows 7 和 Windows XP 上都会发生。

我尝试用垃圾替换传入的加密字符串,看看返回值是什么,它是0x80090318 (SEC_E_INCOMPLETE_MESSAGE),所以我知道这不仅仅是“垃圾输入 - 垃圾输出”的情况。我还通过使用 Pidgin 使用相同的 JID 登录来检查 JID 是否正确。

任何人都可以提供任何启示吗?

0 投票
0 回答
365 浏览

c - Libstrophe 窗口 TLS 错误

我在使用 Libstrophe 时遇到了一些问题。我能够让它在 linux (fedora) 中工作,但似乎 Windows 不会那么容易。

运行 basic.exe 我有以下输出(服务器是 dukgo.com):

问题似乎出在 src\tls_schannel.c:331

ret 值为 -2146893018 而不是 SEC_E_OK。我看到一些关于这个问题的帖子,我改用 OpenSLL 但没有用,仍然无法正常工作。同样在那些情况下,提到了 DecryptMessage(),到目前为止,我从未到达过那行代码。DecryptMessage 返回 SEC_E_UNSUPPORTED_FUNCTION

如果有人对此有任何想法,我将非常感激,我已经尝试解决这个问题一个多星期了,但仍然没有。

谢谢,费德里科。

pd.:我有类似“警告 LNK4006:__NULL_IMPORT_DESCRIPTOR 已在 libeay32MTd.lib(LIBEAY32.dll) 中定义;第二个定义被忽略”之类的警告,我认为 openssl 无论如何都在工作