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

标签 javascript angularjs xmpp openfire strophe

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

控制台日志也收到“正在连接”和“已连接”状态,但我在 openfire 管理控制台上检查了 session :

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

如果我使用 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(使用 Strophe.js)的 Web 客户端示例,请查看下面我的 Plunker:

http://plnkr.co/edit/EhQHDsYpDhrECmaaIlZO

关于javascript - 如何在 openfire 存在下将离线更改为在线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061978/

相关文章:

ruby - Rails + XMPP 机器人在后台

javascript - 如何去掉表格后面的空格

javascript - Angular ,为什么在更改状态应用程序时重新加载页面

javascript - AngularJS 无法使用常规表单

javascript - 在选择中为 ng-model 分配一个对象

html - 如何以编程方式创建 DragEvent?

ios - XMPPMessageArchivingCoreDataStorage 重复条目 - XMPP MUC

ios - 获取花名册而不是组列表 XMPP iOS Swift

javascript - 如何读取另一个页面的HTML并存储在当前页面?

javascript - 使用 JQuery/socket.io 控制何时调用 ARI 函数