Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 如何在Pubnub中重新连接?_Javascript_Publish Subscribe_Pubnub - Fatal编程技术网

Javascript 如何在Pubnub中重新连接?

Javascript 如何在Pubnub中重新连接?,javascript,publish-subscribe,pubnub,Javascript,Publish Subscribe,Pubnub,我正在使用PubNub跨Js代码传输通知。一旦互联网断开并重新启动,我就不知道如何在PubNub中重新连接 有恢复:真的在我的初始和做 this.listeners = { message: msgEvent => { console.log(msgEvent); }, status: statusEvent => { if (statusEvent.category === "PNNetworkUpCategory") { this.pubn

我正在使用PubNub跨Js代码传输通知。一旦互联网断开并重新启动,我就不知道如何在PubNub中重新连接

有恢复:真的在我的初始和做

this.listeners = {
  message: msgEvent => {
    console.log(msgEvent);
  },
  status: statusEvent => {
    if (statusEvent.category === "PNNetworkUpCategory") {
      this.pubnub.reconnect();
}}};
不适合我

完整代码:

this.pubnub = new PubNub({
  subscribeKey: this.serverDetails.authInfo.subscribeKey,
  authKey: this.serverDetails.authInfo.authKey,
  uuid,
  restore: true
  ssl: true
});

this.listeners = {
  message: msgEvent => {
    console.log(msgEvent);
  },
  status: statusEvent => {
    if (statusEvent.category === "PNNetworkUpCategory") {
      this.pubnub.reconnect();
    }
  }
};

this.pubnub.addListener(this.listeners); 
SDK:4.27.2


期望值:尝试重新连接PubNub(最多N次尝试),订阅现有订阅频道。

查看它,您可能会收到一些其他状态响应,而您没有检查这些响应……此外,我认为您需要使用状态
PNNetworkDownCategory
autoNetworkDetection
标志来宣布网络何时关闭或打开
PNNetworkUpCategory
。i、 e

this.pubnub = new PubNub({
  subscribeKey: this.serverDetails.authInfo.subscribeKey,
  authKey: this.serverDetails.authInfo.authKey,
  uuid,
  restore: true,
  ssl: true,
  autoNetworkDetection: true
});

this.listeners = {
  message: msgEvent => {
    console.log(msgEvent);
  },
  status: statusEvent => {
    if (statusEvent.category === "PNNetworkUpCategory") {
      this.pubnub.reconnect();
    } else {
      // check for other status events - PNTimeoutCategory, PNNetworkIssuesCategory, etc
      console.log(statusEvent.category);
    } 
  }
};
如果失败,并且仍然存在重新连接问题,则应将标志
listenToBrowserNetworkEvent
设置为
false
,因为这允许SDK重新连接逻辑接管。i、 e

this.pubnub = new PubNub({
  subscribeKey: this.serverDetails.authInfo.subscribeKey,
  authKey: this.serverDetails.authInfo.authKey,
  uuid,
  restore: true,
  ssl: true,
  listenToBrowserNetworkEvents: false
});

请参阅:

Lol我读了服务名称,您在标题中使用的名称是错误的:这是否回答了您的问题@弗雷泽:不是真的。然后告诉我们:哪个SDK,提供完整的初始化配置,启用并共享日志。问题是“为什么这不起作用”,并且没有提供足够的信息来回答。@Fraser更新了问题。它应该可以与默认配置一起工作,但
还原:true是必需的,不需要调用
重新连接