Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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 如何使用stanza.io客户端和ejabberd服务器在线显示?_Javascript_Xmpp_Chat_Ejabberd_Stanza.io - Fatal编程技术网

Javascript 如何使用stanza.io客户端和ejabberd服务器在线显示?

Javascript 如何使用stanza.io客户端和ejabberd服务器在线显示?,javascript,xmpp,chat,ejabberd,stanza.io,Javascript,Xmpp,Chat,Ejabberd,Stanza.io,我在ejabberd在线出现问题,我正在为一位客户开发聊天客户端,我有这部分代码: client.connect(); client.on('session:started', () => { client.getRoster() client.sendPresence(); onConnect(); }); 当我启动会话事件时,我将我的状态发送到服务器,以便向其他用户显示为“在线”,但它不起作用,事件的名称是否错误?其他功能运行良好,我可以发送消息,但只能在脱机

我在ejabberd在线出现问题,我正在为一位客户开发聊天客户端,我有这部分代码:

client.connect();
client.on('session:started', () => {
    client.getRoster()
    client.sendPresence();
    onConnect();
});

当我启动会话事件时,我将我的状态发送到服务器,以便向其他用户显示为“在线”,但它不起作用,事件的名称是否错误?其他功能运行良好,我可以发送消息,但只能在脱机状态下发送。有什么建议吗?提前感谢。

确保您的其他客户端也有,并且其他用户也在您的状态中。

确保您的其他客户端也有,并且其他用户也在您的状态中。

您需要将您的状态发送到服务器

this.client.on('session:started', () => {
        this.client.enableCarbons(err => {
        if (err) {
            console.log('Server does not support carbons', err);
        }
    });
    this.client.sendPresence();
    });
在保存任何新用户时,我们需要订阅该用户

this.client.subscribe(id);
当对方用户收到状态类型为订阅时,他们必须接受订阅

this.client.acceptSubscription(id)

您需要将状态信息发送到服务器

this.client.on('session:started', () => {
        this.client.enableCarbons(err => {
        if (err) {
            console.log('Server does not support carbons', err);
        }
    });
    this.client.sendPresence();
    });
在保存任何新用户时,我们需要订阅该用户

this.client.subscribe(id);
当对方用户收到状态类型为订阅时,他们必须接受订阅

this.client.acceptSubscription(id)

我使用psi来调试客户端,如果我理解正确,我需要订阅以查看用户是否在线,即使客户端发送状态?我将尝试订阅以查看发生了什么我使用psi对客户端进行调试,如果我理解正确,我需要订阅以查看用户是否在线,即使客户端发送状态信息?我会尝试订阅看看会发生什么我们可以一起发送订阅和接受订阅alsoyeah…我们可以这样做alsoWe可以一起发送订阅和接受订阅alsoyeah…我们也可以这样做