Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js xmpp客户端收到“错误注册”错误作为消息响应_Javascript_Node.js_Google Cloud Messaging_Xmpp - Fatal编程技术网

Javascript Node.js xmpp客户端收到“错误注册”错误作为消息响应

Javascript Node.js xmpp客户端收到“错误注册”错误作为消息响应,javascript,node.js,google-cloud-messaging,xmpp,Javascript,Node.js,Google Cloud Messaging,Xmpp,此代码可能有什么问题?我正在尝试向我的移动设备发送推送通知。到目前为止运气不好。。用php和GCM HTTP协议做了一个小测试,以了解我的API和密码是否正确——一切都很顺利。。这是我的代码片段,它不起作用 var xmpp = require('node-xmpp-client'); var ltx = require('ltx'); var options = { jid: 'xxxxxxxxxxx@gcm.googleapis.com', password: 'AIzaxxxxx

此代码可能有什么问题?我正在尝试向我的移动设备发送推送通知。到目前为止运气不好。。用php和GCM HTTP协议做了一个小测试,以了解我的API和密码是否正确——一切都很顺利。。这是我的代码片段,它不起作用

var xmpp = require('node-xmpp-client');
var ltx = require('ltx');

var options = {
  jid: 'xxxxxxxxxxx@gcm.googleapis.com',
  password: 'AIzaxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  port: 5235,
  host: 'gcm.googleapis.com',
  legacySSL: true,
  preferredSaslMechanism: true
};

var xmppClient = new xmpp.Client(options);
xmppClient.connection.socket.setTimeout(0);
xmppClient.connection.socket.setKeepAlive(true, 10000);
xmppClient.on('online', function() {
  var receiver = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx-GnbkL2e5UlsS4utMw9rLTFrcsrhqxeH8xvzzzzzzzzzzzzzzzzzzzzzzz";
  /*var rawmsg = '<message id=""><gcm xmlns="google:mobile:data">{"to":"' + receiver + '", "message_id":"m-xxxx123", "data": {"hello":"world"}, "time_to_live":600, "delay_while_idle": true, "delivery_receipt_requested": true }</gcm></message>';
  var msg = ltx.parse(rawmsg);*/

  var msg = new xmpp.Element('message', {id: ''}).c('gcm', {xmlns: 'google:mobile:data'}).t(JSON.stringify({
    to: receiver,
    message_id: 'm-xxxx123',
    time_to_live: 600,
    delay_while_idle: true,
    delivery_receipt_requested: true
  }));
  xmppClient.send(msg);
  ............
  ............
}

以下是您的错误的可能原因

无效的注册令牌

检查传递给服务器的注册令牌的格式。确保它与客户端应用程序通过向GCM注册收到的注册令牌相匹配。不要截断或添加其他字符

不匹配发送器

注册令牌绑定到特定的发送者组。当客户端应用程序注册GCM时,它必须指定允许哪些发件人发送消息。向客户端应用发送消息时,应使用其中一个发件人ID。如果切换到其他发件人,现有注册令牌将无法工作

........","message_id":"m-xxxx123","error":"BAD_REGISTRATION","error_description":""}' ],