Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在openfire状态下将脱机更改为联机?_Javascript_Angularjs_Xmpp_Openfire_Strophe - Fatal编程技术网

Javascript 如何在openfire状态下将脱机更改为联机?

Javascript 如何在openfire状态下将脱机更改为联机?,javascript,angularjs,xmpp,openfire,strophe,Javascript,Angularjs,Xmpp,Openfire,Strophe,我正在使用XMPP创建一个messenger。 我确实成功连接到openfire服务器 控制台日志还接收到“正在连接”和“已连接”状态,但我检查了openfire管理控制台上的会话: 姓名:匿名 资源:一些值 节点:本地 状态:已验证 状态:离线 如果我使用spark客户端程序,它会将状态更改为在线状态 我怎样才能改变这一点? 我应该在行中添加更多代码吗 var jid = 'id'; var pw = 'testpw'; var BOSH_SERVICE = 'http://127.0.0.1

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

控制台日志还接收到“正在连接”和“已连接”状态,但我检查了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(使用Strophe.js)的web客户端示例,请查看下面的我的Plunker:

添加了send($pres())

只是可以看到连接

未添加发送($pres())


可以查看连接和连接日志

谢谢海狸。添加连接后,我从openfire管理控制台检查状态。将($pres())代码发送到行。但是状态仍然脱机..和console.log正在连接已结束。如果没有,请使用connection.send($pres())。console.log正在连接,但您是否已从Plunker尝试我的客户端(使其适应您的Openfire配置)?我现在已尝试。它工作得很好!!。我会发现我的代码有问题。谢谢海狸:)
if(status === Strophe.Status.CONNECTED){
    connection.send($pres());
    console.log('connected');
}
if(status === Strophe.Status.CONNECTED){
    console.log('connected');
}