cloudfunctions/SegmentPortraitPic/node_modules/@cloudbase/database/dist/commonjs/realtime/websocket-client.js
(开头部分) 22KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const virtual_websocket_client_1 = require("./virtual-websocket-client");
const utils_1 = require("../utils/utils");
const message_1 = require("./message");
const ws_event_1 = require("./ws-event");
const error_1 = require("../utils/error");
const error_2 = require("./error");
const error_config_1 = require("../config/error.config");
const __1 = require("../");
const WS_READY_STATE = {
CONNECTING: 0,
OPEN: 1,
CLOSING: 2,
CLOSED: 3
};
const MAX_RTT_OBSERVED = 3;
const DEFAULT_EXPECTED_EVENT_WAIT_TIME = 5000;
const DEFAULT_UNTRUSTED_RTT_THRESHOLD = 10000;
const DEFAULT_MAX_RECONNECT = 5;
const DEFAULT_WS_RECONNECT_INTERVAL = 10000;
const DEFAULT_PING_FAIL_TOLERANCE = 2;
const DEFAULT_PONG_MISS_TOLERANCE = 2;
const DEFAULT_LOGIN_TIMEOUT = 5000;
class RealtimeWebSocketClient {
constructor(options) {
this._virtualWSClient = new Set();
this._queryIdClientMap = new Map();
this._watchIdClientMap = new Map();
this._pingFailed = 0;
this._pongMissed = 0;
this._logins = new Map();
this._wsReadySubsribers = [];
this._wsResponseWait = new Map();
this._rttObserved = [];
this.initWebSocketConnection = async (reconnect, availableRetries = this._maxReconnect) => {
if (reconnect && this._reconnectState) {
return;
}
if (reconnect) {
this._reconnectState = true;
}
if (this._wsInitPromise) {
return this._wsInitPromise;
}
if (reconnect) {
this.pauseClients();
}
this.close(ws_event_1.CLOSE_EVENT_CODE.ReconnectWebSocket);
this._wsInitPromise = new Promise(async (resolve, reject) => {
try {
const wsSign = await this.getWsSign();
await new Promise(success => {
const url = wsSign.wsUrl || 'wss://tcb-ws.tencentcloudapi.com';
this._ws = __1.Db.wsClass ? new __1.Db.wsClass(url) : new WebSocket(url);
success();
});
if (this._ws.connect) {
await this._ws.connect();
}
后面还有 507 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
