From 31fb0a76f775eedb73a7b51283f2714f80b1fbfa Mon Sep 17 00:00:00 2001 From: Julian Waller Date: Wed, 20 Jan 2021 21:55:56 +0000 Subject: [PATCH] fix: changing ip doesnt error so much --- src/client.ts | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/client.ts b/src/client.ts index 10b4873..32f19ac 100644 --- a/src/client.ts +++ b/src/client.ts @@ -22,7 +22,7 @@ export type CompanionSatelliteClientEvents = { export class CompanionSatelliteClient extends EventEmitter { private readonly debug: boolean - private readonly socket: Socket + private socket: Socket | undefined private receiveBuffer: Buffer = Buffer.alloc(0) @@ -41,6 +41,10 @@ export class CompanionSatelliteClient extends EventEmitter this.emit('error', e)) this.socket.on('close', () => { @@ -62,7 +66,7 @@ export class CompanionSatelliteClient extends EventEmitter { this._retryConnectTimeout = undefined this.emit('log', 'Trying reconnect') - this.socket.connect(SERVER_PORT, this._host) + this.initSocket() }, 1000) } }) @@ -79,6 +83,13 @@ export class CompanionSatelliteClient extends EventEmitter this.sendPing(), 100) + // this._pingInterval = setTimeout(() => this.sendPing(), 100) + } + + if (!this.socket) { + // should never hit, but just in case + this.disconnect() + return } this.emit('log', 'sending version') @@ -90,10 +101,12 @@ export class CompanionSatelliteClient extends EventEmitter { @@ -130,9 +144,11 @@ export class CompanionSatelliteClient extends EventEmitter { try { - this.socket.end() + this.socket?.end() + this.socket = undefined return resolve() } catch (e) { + this.socket = undefined return reject(e) } }) @@ -229,20 +245,20 @@ export class CompanionSatelliteClient extends EventEmitter