void ITcpClientListener.SocketDidDisconnect()
        {
            ReliableChannel.Remove(this.reliableChannel);

            this.listener?.NetworkClientDidDisconnect();

            this.tcpSocket.Close();
        }
        void ITcpServerListener <TcpSocket> .SocketDidDisconnect(TcpSocket socket)
        {
            ThreadChecker.AssertReliableChannel();

            var channel = this.socketCollection.Remove(socket);

            if (channel == null)
            {
                return;
            }
            ReliableChannel.Remove(channel);
            this.listener?.NetworkServerPlayerDidDisconnect(channel);
        }