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]
