监听Websocket客户端上下线状态变化 - GoEasy PubSub

启用和关闭

所有应用(包括免费应用)均可在我的应用 -> 查看详情 -> 高级功能 -> 在线用户查询和上下线提醒 自助启用和关闭。

资费

  1. GoEasy系统每推送一次presenceEvents,扣减消息量1条
  2. 每个客户端收到一次presenceEvents,扣减消息量 1条

前置条件

被监听的客户端的必须要初始化Id信息,否则无法监听。

监听客户端上下线状态变化

上下线状态变化会触发的事件(action)四种类型:

  • join: 上线,客户端首次执行代码订阅channel
  • leave: 离开,客户端主动执行unsubscribe方法取消某个 channel 的订阅
  • online: 重新上线,客户端已经订阅了channel,因为网络原因或执行了disconnect方法断开连接后,重连自动或手动连接成功后上线
  • offline: 下线,客户端已经订阅了 channel,执行disconnect方法或因为网络质量断开连接导致下线

如果一个id同时打开了多个客户端,join和online只会在第一个上线的客户端上线时触发, leave和offline只会在最后一个下线的客户端下线时触发。

换句话说:

如果已经有一个客户端订阅了该channel并且当前是在线状态时,使用同一个id的其他客户端上线时,不会触发上线提醒;
如果还存在一个客户端订阅了该channel并且当前是在线状态时,使用同一个id的其他客户端下线时,不会触发下线提醒。

JavaScript监听上下线状态变化

    goeasy.pubsub.subscribePresence({
        channel: "my_channel",
        onPresence: function(presenceEvents){
            console.log("Presence events: ", JSON.stringify(presenceEvents));
        },
        onSuccess: function () {  //监听成功
            console.log("Subscriber presence successfully.") 
        },
        onFailed: function (error) { //监听失败
            console.log("Failed to Subscriber presence, code:"+error.code+ ",error:"+error.content);
        },        
    });

results matching ""

    No results matching ""