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'});
しかし、切断する方法がわかりません。使用できないタイプのスタンザを送信しようとしました:
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' of undefined
だから、私は何が間違っているのですか?切断する簡単な方法があると確信しています。