首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用stanza.io客户端和ejabberd服务器显示在线状态?

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

Stack Overflow用户
提问于 2016-08-20 05:33:04
回答 2查看 845关注 0票数 0

我在ejabberd上出现问题,我正在为一个客户做一个聊天客户端,我有这部分代码:

代码语言:javascript
复制
client.connect();
client.on('session:started', () => {
    client.getRoster()
    client.sendPresence();
    onConnect();
});

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

EN

回答 2

Stack Overflow用户

发布于 2016-08-22 00:44:02

确保您的其他客户端也具有sent their presence,并且另一个用户对您的在线状态执行subscribed操作。

票数 1
EN

Stack Overflow用户

发布于 2017-07-18 01:50:37

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

代码语言:javascript
复制
this.client.on('session:started', () => {
        this.client.enableCarbons(err => {
        if (err) {
            console.log('Server does not support carbons', err);
        }
    });
    this.client.sendPresence();
    });

在保存任何新用户时,我们需要订阅该用户

代码语言:javascript
复制
this.client.subscribe(id);

当对方用户收到在线状态类型为subscribe时,也必须接受该订阅

代码语言:javascript
复制
this.client.acceptSubscription(id)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39047965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档