Well, there are two general modes for FTP: active and passive.
- In active mode the client opens a control connection to the server and for every data transfer from the server a separate data connection is opened (initiated by the server). This is probably what you were thinking of.
- Passive mode FTP has only one joint control/data connection initiated by the client. If you are behind a firewall-setup that will not permit incoming connections, this is the way to go.
Not having looked deeply into your code: If you're on a network with no special security and your original setup was geared towards a regular FTP-Server, your original script should be portable to a new box.