gpt4 book ai didi

android - PubNub 延迟接收来自订阅 channel 的消息 (Android)

转载 作者:行者123 更新时间:2023-11-29 14:45:17 25 4
gpt4 key购买 nike

我正在将 Android SDK 集成到我的应用程序中,并按照本教程订阅和发布消息到 channel :https://www.pubnub.com/docs/android-java/data-streams-publish-and-subscribe

当它刚刚连接并订阅 channel 时,它可以立即从订阅的 channel 接收消息,但如果我在几分钟后离开,我就无法再收到消息,有时消息会迟到。

我使用方法 successCallback(String channel, Object message) 来接收和处理消息。那么有没有人像我一样遇到这个问题?

最佳答案

您似乎使用了过时的 SDK 版本。试试最新的 4.3.0

我就是这么实现的

 PNConfiguration pnConfiguration = new PNConfiguration();
pnConfiguration.setSubscribeKey(youKey);
pnConfiguration.setReconnectionPolicy(PNReconnectionPolicy.LINEAR);

pubnub = new PubNub(pnConfiguration);
pubnub.addListener(this);
pubnub.subscribe()
.channels(Arrays.asList(channel))
.execute();

PNReconnectionPolicy.LINEAR 可用于在断开连接时自动重新连接和接收消息(这种情况经常发生)

然后我的类使用以下代码实现 SubscribeCallback:

@Override
public void unsubscribeAndDisconnect() {
pubnub.destroy();
}


@Override
public void status(PubNub pubnub, PNStatus status) {
switch (status.getCategory()) {
case PNConnectedCategory:
logger.debug("Pubnub Connected");
break;
case PNReconnectedCategory:
logger.debug("Pubnub reconnected");
break;
case PNDisconnectedCategory:
logger.debug("Pubnub disconnected");
break;
case PNUnexpectedDisconnectCategory:
logger.debug("Pubnub Unexcpected disconnect");
pubnub.reconnect();
break;
case PNTimeoutCategory:
logger.debug("Pubnub Timeout");
pubnub.reconnect();
break;
default:
logger.debug("Pubnub " + status.getCategory().name());
break;
}
}


@Override
public void message(PubNub pubnub, PNMessageResult message) {
if (message.getMessage() != null) {
String msg = message.getMessage().toString();
//do what you want with the received message
}
}

@Override
public void presence(PubNub pubnub, PNPresenceEventResult presence) {
//not used in my case
}

@Override
public void unsubscribeAndDisconnect() {
pubnub.destroy();
}

然后就是它。尝试使用他们的调试控制台,看看延迟是否来自您发送消息的地方。

关于android - PubNub 延迟接收来自订阅 channel 的消息 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41255054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com