From 824f23e159ae57975cf710019268bdb82595e637 Mon Sep 17 00:00:00 2001 From: bangbang93 Date: Tue, 12 Jul 2022 16:52:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/client.ts b/src/client.ts index af3e3ab..594d4ba 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,3 +1,4 @@ +import is from '@sindresorhus/is' import {createLogger} from 'bunyan' import {createHash} from 'crypto' import {EventEmitter, once} from 'events' @@ -5,7 +6,7 @@ import got from 'got' import {pick} from 'lodash' import {createDeserializer, createSerializer, states, States} from 'minecraft-protocol' import * as framing from 'minecraft-protocol/src/transforms/framing' -import {connect, Socket} from 'net' +import {AddressInfo, connect, Socket} from 'net' import {Duplex} from 'stream' import {Container} from 'typedi' import {Backend} from './backend' @@ -219,7 +220,7 @@ export class Client extends EventEmitter { try { this.write('disconnect', {reason: JSON.stringify({text: reason})}) this._closed = true - this.logger.info(`force disconnecting ${this.socket.address()}, reason: ${reason}`) + this.logger.info(`force disconnecting ${addressToString(this.socket.address())}, reason: ${reason}`) } catch (err) { this.logger.warn(err, 'failed to disconnect') this.kill() @@ -234,3 +235,8 @@ export class Client extends EventEmitter { this.serializer.write({name, params}) } } + +function addressToString(address: AddressInfo | string): string { + if (is.string(address)) return address + return `${address.address}:${address.port}` +}