| 172 | } |
| 173 | |
| 174 | onmessage(event: MessageEvent) { |
| 175 | let eventData = null; |
| 176 | if (event.data != null) { |
| 177 | eventData = JSON.parse(event.data); |
| 178 | } |
| 179 | if (eventData == null) { |
| 180 | return; |
| 181 | } |
| 182 | if (eventData.type == "ping") { |
| 183 | this.wsConn.send(JSON.stringify({ type: "pong", stime: Date.now() })); |
| 184 | return; |
| 185 | } |
| 186 | if (eventData.type == "pong") { |
| 187 | // nothing |
| 188 | return; |
| 189 | } |
| 190 | if (this.messageCallback) { |
| 191 | try { |
| 192 | this.messageCallback(eventData); |
| 193 | } catch (e) { |
| 194 | console.log("[error] messageCallback", e); |
| 195 | } |
| 196 | } |
| 197 | } |
| 198 | |
| 199 | sendPing() { |
| 200 | if (!this.open) { |