Я смотрю на node-xmpp и node-simple-xmpp и я пытаюсь сделать простой клиент.
Все работает нормально, кроме отключения.
Я создал следующий файл после примера из простого xmpp:
var xmpp = require('simple-xmpp');
xmpp.on('online', function() {
console.log('Yes, I\'m connected!');
xmpp.send('[email protected]', 'Hello test');
// OK UNTIL HERE, DISCONNECT NOW
});
xmpp.connect({jid: '[email protected]/webchat', password: 'test', reconnect: 'false'});
Но я не знаю, как отключиться. Я попытался отправить строфу с недоступным типом:
stanza = new xmpp.Element('presence', {from: '[email protected]', 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' of undefined
Итак, что я делаю неправильно? Я уверен, что есть простой способ отключиться.