看看它,您可能会得到一些您没有检查的其他状态响应...而且我认为您需要autoNetworkDetection
使用状态来宣布网络何时关闭或开启的标志PNNetworkDownCategory
and 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
to false
因为这允许 SDK 重新连接逻辑接管。 IE。
this.pubnub = new PubNub({
subscribeKey: this.serverDetails.authInfo.subscribeKey,
authKey: this.serverDetails.authInfo.authKey,
uuid,
restore: true,
ssl: true,
listenToBrowserNetworkEvents: false
});
see: https://www.pubnub.com/docs/web-javascript/pubnub-network-lifecycle#pnnetworkupcategory https://www.pubnub.com/docs/web-javascript/pubnub-network-lifecycle#pnnetworkupcategory