问题标签 [node-xmpp]

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 回答
1742 浏览

node.js - xmpp s2s 是如何工作的?

我很难理解 s2s 交互中的完整信息流。互联网上可用的文档并不多。

我正在使用基于 nodejs 的 xmpp-server 来设置一个构建在 node-xmpp 之上的 xmpp 服务器。这对于单个服务器系统非常有效,但尚未在“xmpp-server”模块中完成用于 s2s 支持的开发。像 ejabberd 这样的包确实支持 s2s,但是没有太多关于这整个事情如何工作的文档。

要注意的另一件事是我不想要多个主机名。我想要的只是另一个我已经在一台机器上运行的 xmpp 服务器实例。两者都可以使用相同的数据库。

0 投票
2 回答
2662 浏览

javascript - 断开 node-xmpp 客户端

我正在查看node-xmppnode-simple-xmpp,我正在尝试制作一个简单的客户端。
一切正常,除了断开连接。

我在simple-xmpp示例之后制作了以下文件:

但我不知道如何断开连接。我试图发送一个类型不可用的节:

这导致客户端暂时脱机,但问题是,它会在几秒钟后重新连接并继续发送“存在”节。

我也尝试过调用 xmpp.conn.end(),它也会断开连接,但之后会出现错误:

那么,我做错了什么?我相信有一种简单的方法可以断开连接。

0 投票
1 回答
1074 浏览

node.js - 在窗口 7 上安装 node-xmpp

node --version v0.8.22在 Windows 7 上。我正在尝试node-xmpp使用命令安装npm install node-xmpp. 我已经安装了 express、log4js 和 socket.io npm install,但是 node-xmpp 抛出了以下错误。

知道这意味着什么吗?

谢谢!

0 投票
0 回答
156 浏览

node.js - 如何为 node-xmpp 客户端添加自定义身份验证机制?

我可以在 node-xmpp 中使用海关身份验证机制而不分叉吗?我需要使用与X-OAUTH2非常相似的机制进行身份验证,但使用其他标题和更简单的 auth() 方法(有关更多信息,请参阅代码)。

0 投票
2 回答
688 浏览

xmpp - 有没有人有安装 node-xmpp 的更新指南?

有没有人在 Cent OS 或 Ubuntu 的最新版本上从头到尾安装 node-xmpp 的更新指南?

我已尝试安装,但继续收到以下错误:

这是 stringprep 的日志:

0 投票
1 回答
4308 浏览

node.js - 使用 Node 处理 XMPP 存在

我正在使用 node-xmpp 模块连接到 XMPP 服务器并加入群聊。到目前为止,连接到服务器、设置状态、加入房间和读出消息都有效。但我也想收到房间的用户列表。

XMPP 协议要求在客户端进入房间时发送出席信息节 ( http://xmpp.org/extensions/xep-0045.html#enter-pres )。但是我现在如何在节点中解析它?

我的代码目前如下所示:

我已经尝试通过使用触发存在

在 cl.on('stanza') 部分中,但它不起作用。

0 投票
1 回答
335 浏览

javascript - 如何使用用户名/密码身份验证选项连接到 Facebook 聊天并以 Javascript 或 Ruby 成功发送消息?

我尝试过使用node-xmpp包和blathergem。我在胡说八道方面走得最远,但都没有成功。

废话尝试:

https://github.com/adhearsion/blather/issues/119

节点 xmpp 尝试:

https://github.com/astro/node-xmpp/issues/149

0 投票
2 回答
1687 浏览

websocket - 使用 node-xmpp-bosh 将消息转发到另一台机器上的 xmpp 服务器

我正在尝试学习和理解 XMPP 的工作原理。

据我了解,node-xmpp-bosh是一个连接管理器。连接管理器不是一个完整的 xmpp 服务器,但有点像代理,并将 xmpp 请求转发到专用的 xmpp 服务器。这导致专用 xmpp 服务器节省了它在处理连接时通常会承担的一些负载 - 尽管我不完全确定这如何导致节省,或者为什么在处理连接时会有这样的开销。

我已经获得了一个 OpenFire xmpp 服务器来连接,但这与我的 Web 应用程序位于不同的域中。我决定使用 node-xmpp-bosh 作为代理来解决可能导致的 XSS 问题,这也应该允许我使用带有 BOSH 后备功能的 websockets 来处理旧浏览器。

我正在尝试在我的客户端应用程序中使用Strophe.js 库来发送实际消息。

如何配置 node-xmpp-bosh 以将请求转发到实际的 xmpp 服务器?文档并没有说得很清楚,所以我认为它只是将请求转发到托管连接管理器的同一台机器上的 xmpp 服务器。另外,我是否需要以不同的方式配置 Strophe 才能使用连接管理器,或者我只是将请求发送到连接管理器,这应该为我发送它。

提前谢谢了

0 投票
3 回答
1591 浏览

node.js - node-xmpp --- 创建一个持久的私人聊天室

我需要通过不会自动删除自身的 Node 动态创建私人和持久聊天室。

我在网上搜索过,但找不到太多关于如何操作的信息。这是我用来创建聊天室的代码片段:

0 投票
2 回答
1689 浏览

javascript - 无法使用 node.js 和 node-xmpp 连接到 GTalk

我正在尝试使用 node.js 和 node-xmpp 连接到 GTalk。node-xmpp 没有成功连接,而是返回一个 XML 错误响应。

准备

gtalk.js

错误

可能的解释

  1. ID/密码错误(在谷歌网站登录确实有效)
  2. node-xmpp 需要主机/端口才能连接到 GTalk(尝试过 talk.google.com/5222)
  3. talk.google.com@5222是错误的(Google Doc Open Com说它是正确的)
  4. GTalk 仅允许 OAuth2Google Doc Open Com说“旧”设备允许使用 SASL PLAIN)
  5. 这与StackOverflow#4349577相同(没有相同的错字)
  6. 我使用 node-xmpp 错误
  7. GTalk 未按预期响应
  8. node-xmpp 有问题/不支持 GTalk

我很确定排除了 1-5,我很高兴听到 6-8 的其他解释或证据。谢谢!

更新

1. XML Stream ("=>" outbound, "<=" inbound)

尽管我没有提供任何令牌,但似乎 node-xmpp 尝试使用 OAUTH2。它应该使用 PLAIN 代替。

2. node-xmpp oauth 示例也不起作用

根据 node-xmpp pull request #85 创建了 OAUTH2 令牌

3.增加preferred:"PLAIN"修复连接问题

将选项更改为

修复了错误,似乎验证成功。这可能是解释 #8 的证据(node-xmpp 中的错误)。