如何在 openfire 存在下将离线更改为在线?

how can change offline to online at openfire presence?

我正在使用 XMPP 创建 Messenger。 我确实成功连接到 openfire 服务器。

控制台日志也收到 'connecting' 和 'connected' 状态,但我在 openfire 管理控制台上检查了会话:

姓名:匿名
资源:一些值
节点:本地
状态:已验证
在线状态:离线

如果我使用 spark 客户端程序,它会将在线状态更改为在线状态。

我该如何改变它? 我应该在行中添加更多代码吗?

var jid = 'id';
var pw = 'testpw';
var BOSH_SERVICE = 'http://127.0.0.1:7070/http-bind/';
var connection = null;

connection = new Strophe.Connection(BOSH_SERVICE);
connection.connect(jid, pw, callback);

function callback(status){
    console.log(status);
}

要声明您的在线状态,您必须在回调函数中添加以下行:

if (status == Strophe.Status.CONNECTED) {
    connection.send($pres());
}

如果您需要基于 XMPP 的 Web 客户端示例(使用 Strophe.js),请查看下面我的 Plunker:

http://plnkr.co/edit/EhQHDsYpDhrECmaaIlZO

已添加发送($pres())

if(status === Strophe.Status.CONNECTED){
    connection.send($pres());
    console.log('connected');
}

刚好可以看到正在连接

并且没有添加send($pres())

if(status === Strophe.Status.CONNECTED){
    console.log('connected');
}

可以看到连接和连接日志