【发布时间】:2016-12-23 15:16:06
【问题描述】:
我正在使用 strophe.js javascript 客户端库使用以下代码连接到 xmpp 服务器(openfire)。
var BOSH_SERVICE = 'http://127.0.0.1:7070/http-bind/';
connection = new Strophe.Connection(BOSH_SERVICE);
connection.connect("jid",
"password",
onConnect);
和回调函数(onConnect)如下:
function onConnect(status)
{
if (status == Strophe.Status.CONNECTING) {
log('Strophe is connecting.');
} else if (status == Strophe.Status.CONNFAIL) {
log('Strophe failed to connect.');
$('#connect').get(0).value = 'connect';
} else if (status == Strophe.Status.DISCONNECTING) {
log('Strophe is disconnecting.');
} else if (status == Strophe.Status.DISCONNECTED) {
log('Strophe is disconnected.');
$('#connect').get(0).value = 'connect';
} else if (status == Strophe.Status.CONNECTED) {
log('Strophe is connected.');
log('ECHOBOT: Send a message to ' + connection.jid +
' to talk to me.');
connection.addHandler(onMessage, null, 'message', null, null, null);
connection.send($pres().tree());
console.log($pres().tree());
}
}
我已使用此代码成功连接到服务器,在此之前没有问题。
问题:实时更新用户列表和状态。
让我解释一下我的问题:
我想通过实时更新显示在线和离线用户列表。(类似于显示聊天应用程序。)
例如。假设有 3 个用户 A、B 和 C。并且都在线(登录)
现在假设用户 A 断开连接或离线,那么用户 B、C 如何收到用户 A 状态的通知?并在用户B和C列表中将用户A的状态更改为离线而不刷新。
strophe.js 中是否有任何方法会在某人连接或断开连接时自动调用。还是我需要自己写?
我不确定,但名册上有些东西。
【问题讨论】:
标签: javascript xmpp openfire strophe