/ / Node.js XMPP-Client Die Implementierung über Heroku stellt keine Verbindung her - node.js, heroku, xmpp, google-cloud-messaging, node-xmpp

Node.js XMPP-Client Die Implementierung über Heroku stellt keine Verbindung her - node.js, heroku, xmpp, google-cloud-messaging, node-xmpp

Ich habe einen XMPP-Client in Node.js implementiert (mit dem Modul node-xmpp), um Benachrichtigungen von einem Android-Client zu senden und zu empfangen:

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);

und hier wird das Ereignis "online" behandelt:

cl.on("online", function() {
console.log("online");
});

Wenn Knoten.js server ist lokal gestartet alles funktioniert gut und ich bin in der Lage, Upstream-Nachrichten von Android-Clients zu erhalten sowie Downstream-Nachrichten an Android-Clients zu senden. Wenn mein Webserver jedoch auf einem Heroku-Dyno läuft, wird das "Online" -Ereignis niemals ausgelöst, daher verbindet sich der XMPP-Client nicht und ich kann keine Upstream-Nachrichten empfangen oder Downstream-Nachrichten senden.

Meine Implementierung basierte auf folgendem Grund: https://gist.github.com/jamesvnz/6756208 Hier stellt der Autor den node.js-Servercode bereit, um einen XMPP-Server zu implementieren, der in die Google Message Messaging-Funktionalität von Google Cloud Messaging (GCM) integriert werden kann - CCS.

Also, ich kann nicht verstehen, warum der XMPP-Client keine Verbindung herstellt, wenn er auf Heroku läuft, funktioniert aber perfekt auf localhost.

Antworten:

1 für die Antwort № 1

Xmpp arbeitet nicht an Heroku :(. Ich bin mir nicht sicher warum, aber es steht sehr deutlich auf ihrer Website