Hey buddy thanks for your ftpproxy it really helps.
Besides, i would like to make it configurable that user could specify data port connecting to client. Just like this:
skDataClient = new Socket(skControlClient.getInetAddress(), port, skControlClient.getLocalAddress(), 20);
Because I have come with a firewall problem, this helps.