问题标签 [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.
c - XMPP 使用 libstrophe 自动重新连接
使用 libstrophe,当我失去连接时,我可以自动重新连接吗?我在客户端使用了以下代码:
当客户端第一次连接时,我收到消息“DEBUG:已连接”当服务器完成时,我收到消息“DEBUG:已断开连接”。但是当服务器第二次启动时,客户端不会自动重新连接。
c - 何合并来自不同项目的事件循环
我正在使用 Strophe C 库进行 XMPP 消息传递和 libwebsock 来创建 Websocket 服务器。我想要做的是将在 strophe 上收到的消息转发到 Websocket 客户端,反之亦然。但是我不知道该怎么做。
strophe 和 libwebsock 都需要运行事件循环来处理事件。如何运行两个循环或将它们合并为一个,以便在同一程序中处理来自两个库的事件?
提前致谢。:)
c++ - 如何在 C++ 中创建唯一的 lambda 实例?或者,如何使用 libstrophe 在 xmpp 中设置 id 消息处理程序?
我正在使用C libstrophe 库在 C++11 中制作 xmpp 应用程序。我正在尝试为特定 ID 注册消息处理程序,因此我可以使用xmpp_id_handler_add识别特定的返回消息。
但是我不明白 strophe 的实现。
Strophe 将只接受形式的函数指针
使用静态函数很容易做到这一点,但是通过查看源代码我发现了这一点
这意味着如果我尝试使用相同的静态函数调用 xmpp_id_handler_add 两次,但 id 和 userdata 不同,它将拒绝第二次调用。
所以我想也许每次我想添加一个新的 ID 处理程序时我都可以制作一个 lambda,就像这样
但是当我查看 lambda 的指针值时
并运行了两次,两次都得到了相同的值。在这种情况下,lambda 似乎就像一个静态函数。
那么,每次我想监听一个新的 ID 时,如何创建一个新的、唯一的函数指针呢?或者,我是否误解了应该如何使用 libstrophe?您是否应该为每个要收听的新 ID 设置一个新的静态函数?
xmpp - XMPP libstrophe 客户端与 ejabberd 的连接
我是libstrophe示例客户端程序bot.c
并尝试与ejabberd服务器连接。
我正面临身份验证失败。请参考下面的日志。
有人可以帮我解决这个身份验证问题吗?
c - 为 openwrt 编译 libstrophe 以支持 TLS
我使用 libstrophe 版本 0.8.9 来开发我的 xmpp 客户端。
这是我的 xmmp 客户端连接到服务器的 xmmp 功能
我收到了这些错误
虽然这些变量存在于这个文件中https://github.com/metajack/libstrophe/blob/master/src/common.h
我的代码或 libstrophe 有什么问题?
c - 使用 openssl 检查受信任的证书
我使用 libmesode(fork libstrophe)开发了一个 xmpp 客户端。我想通过认证来确保身份验证。服务器端有一个证书 server.pem 客户端有它的证书 client.pem
在 lidmesode 中用于检查证书的函数:
当 xmpp 客户端使用 TLS 连接到 ejabbed xmpp 服务器时,openssl 检查自签名但继续连接的服务器证书!!。第二件事是:openssl 不使用客户端证书检查服务器证书以检查服务器证书是否受信任。
openssl 做这些检查吗?
1)如果自签名证书断开连接
2)检查证书是否可信。
以下捕获显示服务器发送证书,然后客户端发送密钥。
就是这个key应该取自客户端认证!