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]
