Tag: ejabberd

使用博世和Strophe将ejabberd集成到现有的nodejs应用程序中

我正在尝试将聊天function和function集成到原生移动应用程序(iOS和Android)使用的现有node.js应用程序(Expressjs)中。 一种方法是使用socket.io并提供聊天function,但ejabberd显然具有更多的聊天function,如群聊等。 所以,我的问题是,如果所有的业务逻辑,用户注册和身份validation是在node.js应用程序,我怎么可以连接或集成到ejabberd服务器。 移动客户端将使用RESTful API连接到nodejs应用程序服务器。 如何连接两台服务器以及如何交换信息? 这是Strophe.js? 没有find一个有信誉的NPM库。 移动客户端是否需要连接到这两个服务器? 为用户login等nodejs和ejabberd实际的聊天对话? 任何帮助表示赞赏 – 我正在安装服务器,并尝试整合他们… 谢谢!

通过节点js应用程序访问ejabberd ReST API

我有一个运行在Ubuntu 16.04上的ejabberd(16.01)服务器。 我有另一个NodeJs应用程序运行在不同的服务器上。 通过NodeJs应用程序,我希望通过使用https://docs.ejabberd.im/developer/ejabberd-api/中提供的 ReST API来添加用户,添加名单等。 我正在做简单的configuration,在https://docs.ejabberd.im/developer/ejabberd-api/simple-configuration/上给出这个练习。 该configuration表示添加下面的代码片段: commands_admin_access: – allow: – user: "admin@localhost" commands: – add_commands: [user, admin, open] # Tokens are valid for a year as default: auth_expire: 31536000 oauth_access: all 这里的问题是,文档没有指定在什么标题下需要添加这些configuration? 这个configuration的确切位置完全没有了! 我在文件末尾添加了上述configuration。 但是,ejabberd服务器不能识别这些选项。 日志说: validate_opts:792 unknown option 'auth_expire' will be likely ignored validate_opts:792 unknown option 'api_permissions' will be likely ignored validate_opts:784 […]

xmpp s2s如何工作?

我很难理解s2s交互中的完整信息stream。 互联网上没有很多文件。 我正在使用基于nodejs的xmpp-server来build立一个build立在node-xmpp之上的xmpp服务器。 这对于一个单一的服务器系统来说是完美的,但是在s2s支持的“xmpp-server”模块中还没有完成开发。 像ejabberd这样的软件包确实支持s2s,但是没有太多的文档可以提供这个工具。 另外要注意的是,我不想多个主机名。 我想要的是我已经在一台机器上运行的另一个xmpp服务器实例。 两者都可以使用相同的数据库。

使用ejabberd进行浏览器内聊天

ejabberd聊天服务器可以集成可扩展和快速的服务器技术,如node.js / tornado / socket.io来实现浏览器内聊天吗? 在这种情况下,ejabberd服务器可能运行在后端,而前端可以使用node.js / socket.io等与客户端浏览器进行通信。 所有聊天消息都需要通过ejabberd服务器进行路由。 所有这一切是否有意义,并且与传统方式直接使用ejabberd相比,是否足够可扩展?

使用nodejs进行Xmpp ejabberd定制authentication

我想使用XMPP ejabberd服务器节点js身份validation,但我没有find任何文档或教程,我在哪里可以find示例?

node-xmpp C2SServer连接问题注册

我正在使用node-xmpp库与ubuntu上安装的ejabberd服务器进行通信。 我有以下脚本来注册和执行服务器中的操作.. var xmpp = require("node-xmpp"); var c2s = new xmpp.C2SServer({ port: 5223, domain: 'domain.com' }); c2s.on('connect', function(client) { console.log('connect ??? ++++++++'); c2s.on('register', function(opts, cb) { console.log('REGISTER') cb(true) }) client.on('authenticate', function(opts, cb) { console.log('AUTH' + opts.jid + ' -> ' +opts.password) cb(null) // cb(false) }) client.on('disconnect', function() { console.log('DISCONNECT') }) }); 我能够在服务器中看到连接消息。 但是它没有调用注册事件。 不过,我有另一个在5222端口ejabberd实例工作正常从Audium XMPP客户端注册。

使用node-xmpp(node.js)注册新的xmpp帐户

我正在查看“ XEP-0077带内注册 ”,了解如何注册新的XMPP账户。 这是我的代码。 我使用node-xmpp将我的node.js应用程序连接到ejabberd服务器。 var net = require('net'); var xmpp = require('node-xmpp'); var cache = new Object(); net.createServer( function(socket) { socket.setEncoding('utf8'); socket.addListener('data',function(data) { data = data.substr(0,data.length-2); if(cache.admin==undefined && data=='login') { var ejabberd =new xmpp.Client({jid:"admin@mine",password:'12345',host:'192.168.7.202',port:'5222'}); cache.admin = ejabberd; cache.admin.addListener('online',function() { cache.admin.send(new xmpp.Element('presence',{type:'chat'}).c('show').c('status').t('mine status')); cache.admin.send(new xmpp.Element('iq',{type:'get',id:'reg1'}).c('query',{xmlns:'jabber:iq:register'})); }) cache.admin.addListener('stanza',function(stanza) { if(stanza.is('iq')) { console.log(stanza.children[1]); } }) cache.admin.addListener('end',function() { […]