|  |  |  | 
|---|
|  |  |  | this.url = WEBSOCKET_BASE_URL + path; | 
|---|
|  |  |  | this.webSocket = null; | 
|---|
|  |  |  | this.heartbeatInterval = null; // Store the interval ID | 
|---|
|  |  |  | this.heartbeatFrequency = 30000; // Heartbeat every 10 seconds | 
|---|
|  |  |  | this.heartbeatFrequency = 30000; // Heartbeat every 30 seconds | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | connect() { | 
|---|
|  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.webSocket.onmessage = (event) => { | 
|---|
|  |  |  | console.log('websocket message received:', event.data); | 
|---|
|  |  |  | // console.log('websocket message received:', event.data); | 
|---|
|  |  |  | this.onMessage(event.data); | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // Override | 
|---|
|  |  |  | onMessage(data) { | 
|---|
|  |  |  | // 子类可能会重写这个方法来处理消息 | 
|---|
|  |  |  | console.log('WebSocketClient: Message received:', data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | close() { | 
|---|