Articles of xmpp

使用node-xmpp在节点中编写Google CCS服务器时出错

这是编写CCS服务器的Google文档中的python代码: https://developer.android.com/google/gcm/gs.html#server 我想出了大部分,以及如何使用JavaScript代码使用https://github.com/astro/node-xmpp 但是我无法理解如何使用模板发送数据,正是这部分代码: def send(json_dict): template = ("<message><gcm xmlns='google:mobile:data'>{1}</gcm></message>") client.send(xmpp.protocol.Message( node=template.format(client.Bind.bound[0], json.dumps(json_dict)))) 在node-xmpp中,发送是通过以下方式完成的: var cl = new xmpp.Client({ jid: username, password: password }); cl.addListener('online', function() { argv.slice(5).forEach( function(to) { cl.send(new xmpp.Element('message', { to: to, type: 'chat'}). c('body'). t(argv[4])); }); 我明白正在发送的JSON,但是我无法对他们在Python中pipe理的模板进行绑定。 任何帮助?

Node.js XMPP客户端通过Heroku实现不能连接

我已经在Node.js中实现了一个XMPP客户端(使用node-xmpp模块)来发送和接收来自Android客户端的通知: var xmpp = require('node-xmpp'); var options = { type: 'client', jid: process.env.GCM_PROJECT_ID+'@gcm.googleapis.com', password: process.env.GCM_PASSWORD, port: 5235, host: 'gcm.googleapis.com', legacySSL: true, preferred : 'PLAIN' }; var cl = new xmpp.Client(options); cl.connection.socket.setKeepAlive(true, 10000); 这就是'在线'事件得到处理的地方: cl.on('online', function() { console.log("online"); }); 当本地启动Node.js服务器时,一切正常,我可以接收来自Android客户端的上游消息,并向Android客户端发送下游消息。 当我的networking服务器在Heroku dyno上运行时,“在线”事件从不被触发,因此XMPP客户端不能连接,我不能接收上游信息,也不能发送下游信息。 我的实现基于以下要点: https ://gist.github.com/jamesvnz/6756208作者提供了示例node.js服务器代码来实现XMPP服务器,该服务器将与Android的Google Cloud Messaging(GCM)设备云“消息function – CCS。 所以,我不明白为什么XMPP客户端在Heroku上运行时不能连接,但在本地主机上完美工作。

在窗口上安装node-xmpp 7

我在Windows 7上安装了node –version v0.8.22 。我试图用命令npm install node-xmpp 。 我用npm install安装了express,log4js和socket.io,但是node-xmpp引发了下面的错误。 786 info preuninstall node-xmpp@0.3.2 787 info uninstall node-xmpp@0.3.2 788 verbose true,C:\www\resume-bootstrap\src\node_modules,C:\www\resume-bootstrap\src\node_modules unbuild node-xmpp@0.3.2 789 info postuninstall node-xmpp@0.3.2 790 error node-expat@2.0.0 install: `node-gyp rebuild` 790 error `cmd "/c" "node-gyp rebuild"` failed with 1 791 error Failed at the node-expat@2.0.0 install script. 791 error This is most […]

如何通过Node.JS通过XMPP发送HTML格式的消息?

此问题讨论使用node-xmpp发送消息: 通过Node.js上的XMPP连接到Google Talk 任何人都知道如何获得HTML格式的消息。 他们使用的库在一个名为ltx的节点模块中转义HTML。

xmpp s2s如何工作?

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

断开node-xmpp客户端

我正在看node-xmpp和node-simple-xmpp ,我试图做一个简单的客户端。 一切工作正常,除了断开连接。 在simple-xmpp的例子后,我做了如下的文件: var xmpp = require('simple-xmpp'); xmpp.on('online', function() { console.log('Yes, I\'m connected!'); xmpp.send('test2@example.com', 'Hello test'); // OK UNTIL HERE, DISCONNECT NOW }); xmpp.connect({jid: 'test@example.com/webchat', password: 'test', reconnect: 'false'}); 但是我不知道如何断开连接。 我试图发送一个不可用types的节: stanza = new xmpp.Element('presence', {from: 'test@example.com', type: 'unavailable'}); xmpp.conn.send(stanza); delete xmpp; 这导致客户端暂时脱机,但问题是,它几秒钟后重新连接,并不断发送“存在”节。 我也尝试调用xmpp.conn.end(),它也会断开连接,但之后会出现错误: node_modules/simple-xmpp/node_modules/node-xmpp/lib/xmpp/connection.js:100 if (!this.socket.writable) { ^ TypeError: Cannot read property 'writable' […]

客户服务软件的聊天服务器体系结构

我需要在访问者可以与运营商聊天的网站上提供聊天联系人。 聊天引导到不同的业务组织队列:销售,支持,产品信息等。你能build议我一个架构,将涵盖: 服务器端聊天服务器,具有队列路由,数据库,运营商在线状态等 操作员Web应用程序 访客运营商 实时监测网站 我正在看看: node.js + Socket.io + Redis pub / sub:我必须实现所有的消息系统 像Openfire的XMPP服务器 的RabbitMQ 你build议的是什么? 任何其他的想法? 谢谢

如何使用node-xmpp从群聊中离开

这不起作用。 这里cl是谁想离开组的xmpp-client对象。 cl.on('online', function (userData) { var userJid = userData.jid.user + '@' + userData.jid.domain + "/" + userData.jid.resource, roomJid = params.typeId + params.service + userData.jid.domain + '/' + params.userName; pres = new xmpp.Element('presence', { from : userJid, to : roomJid, //54d213e000e9e50c4e8e5a2b@conference.domain/nickName type : 'unavailable', xmlns : 'jabber:client' }); status = cl.send(pres); });

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客户端注册。

为什么我们应该使用XMPP而不是JSON来实现简单的(纯文本的)消息应用程序?

我正在创build一个简单的Android聊天应用程序,包括群组,聊天logging等,但仅限“文本”。 我在Node.js中有后端开发人员 使用Googlesearch,我们发现XMPP(XML)是用于大规模聊天的协议,但对于中小型聊天应用程序(移动),我相信我们可以继续使用JSON和Node.js服务器。 想知道使用XMPP有什么重大优势吗?