private void reConnect()
    {
        do {
            try {
                if (this.client != null) {
                    this.client.close();
                }
                this.prot = null;
                this.client = Net.initClient(Config.Client_hostname, Config.Client_port);
                reconnTimes = 0;
                reconnect = false;
            } catch (IOException ex) {
                System.err.println(ex.getMessage());
                if (reconnTimes == Config.Client_reconnect_max_times) {
                    System.exit(1);
                }
                
                reconnTimes++;
                System.err.println("sleep "+reconnTimes+" reconnect");

                try {
                    Thread.sleep(reconnTimes * 1000);
                } catch (InterruptedException ex1) {
                    ex1.printStackTrace();
                }
                
            }
        } while (reconnect);
        
        this.prot = new Protocol(this.client, this.path);
    }