For the FTP protocol data connection, I don't listen for a connection; I use the PASV command and connect to the IP port the server gives me. I assume (though I might very well be wrong) that if you don't use the PASV command, you still connect to port 20 on the server's IP. (Perhaps I'll have to try that sometime -- or maybe reread the FTP protocol RFC.)