private void run(String[] args) throws ParseException, NumberFormatException, IOException {
    	if (args.length < 3) {
    		usage(); 
    		return ;
    	}

    	CommandLineParser parser = new BasicParser();
    	
    	CommandLine line = parser.parse(opts, args);
    	if (line.hasOption(OptionName.TRACELEVEL.getName())) {
    		changeDebugLevel(line.getOptionValue(OptionName.TRACELEVEL.getName()));
    	}
    		//new TcpProxy(Integer.parseInt(args[0]), args[1], 
    		////		Integer.parseInt(args[2]), Integer.parseInt(args[3])).start();
    	int delay = 0;
    	if (line.hasOption(OptionName.DELAY.getName()))
    		delay = Integer.parseInt(line.getOptionValue(OptionName.DELAY.getName()));
    	new TcpMutiSessionProxy(Integer.parseInt(args[0]), args[1], 
    				Integer.parseInt(args[2]), delay).start();
    }