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]

Reply via email to