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. -Dave --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org