On 11 October 2012 13:40, David Hoffer <[email protected]> wrote: > This is what I see from the listener. > > 220 Serv-U FTP Server v12.1 ready... > USER ******* > 331 User name okay, need password. > PASS ******* > 230 User logged in, proceed. > PORT 10,144,154,209,143,212 > > What does that PORT line mean? Is that the incoming ports that must > be open? Why does it use so many ports? Is that a fixed set or is > this configurable?
This is just how FTP handles IP addresses and ports, search for "FTP PORT command" > -Dave > > On Thu, Oct 11, 2012 at 6:13 AM, David Hoffer <[email protected]> wrote: >> Thanks for the reply and info. >> >> How do I set it in Active mode? I don't see a method to do this. I >> do see these: >> >> setActiveExternalIPAddress() >> setActivePortRange() >> >> But those seem to imply they are used if already in active mode...not >> clear how to do that. >> >> I have added the ProtocolCommandListener I'll see what it report. >> >> Does anyone know what ports must be open for this to work? >> >> -Dave >> >> On Thu, Oct 11, 2012 at 2:29 AM, sebb <[email protected]> wrote: >>> On 11 October 2012 04:27, David Hoffer <[email protected]> wrote: >>>> I just moved an app over to an EC2 server and I'm having trouble >>>> sending data via FTP. This has worked for years on a different Linux >>>> server, the new one is Linux too just on Amazon EC2. >>>> >>>> The code is really simple...basically... >>>> >>>> FTPClient ftp = new FTPClient(); >>>> ftp.login(username, password); >>>> ByteArrayInputStream byteArrayInputStream = new >>>> ByteArrayInputStream(fileBytes); >>>> OutputStream os = ftp.storeFileStream(fileName); >>>> >>>> byte buf[] = new byte[8192]; >>>> int bytesRead = byteArrayInputStream.read(buf); >>>> while (bytesRead != -1) { >>>> os.write(buf, 0, bytesRead); >>>> bytesRead = byteArrayInputStream.read(buf); >>>> } >>>> byteArrayInputStream.close(); >>>> os.close(); >>>> ftp.completePendingCommand(); >>>> ftp.logout(); >>>> >>>> when I debug it...it blocks forever at the call to storeFileStream(). >>>> When it runs while not debugging I get a SocketException (Connection >>>> time out)...not sure if at same line or another such as os.write().. >>>> >>>> I was using version 3.0.1, I just upgraded to 3.1 to see if that would >>>> help but it has the same problem. The only difference I can think of >>>> is that the old server was using Java 6 the new one is Java 7. One >>>> other thing that is different is that the EC2 has most ports blocked, >>>> I've opened port 21 and UDP/DNS. Is there any other ports that are >>>> needed for FTP? >>>> >>>> What might be causing this? I'm completely stuck not knowing where to >>>> look at this point. >>> >>> Most likely there is a port that is not open. >>> >>> Try using active FTP mode; that may work better, or may cause issues >>> if there is a dumb NAT box in the way. >>> >>> Try adding a protocol command listener: >>> >>> ftp.addProtocolCommandListener(new PrintCommandListener(new >>> PrintWriter(System.out), true)); >>> >>>> -Dave >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
