commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: commons-net sending FTP not working on EC2 server
Date Fri, 12 Oct 2012 01:41:54 GMT
On 11 October 2012 13:13, David Hoffer <dhoffer6@gmail.com> 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.

See the example:

http://commons.apache.org/net/examples/ftp/FTPClientExample.java

> I have added the ProtocolCommandListener I'll see what it report.
>
> Does anyone know what ports must be open for this to work?

They are dynamic.

> -Dave
>
> On Thu, Oct 11, 2012 at 2:29 AM, sebb <sebbaz@gmail.com> wrote:
>> On 11 October 2012 04:27, David Hoffer <dhoffer6@gmail.com> 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: user-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: user-help@commons.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>> For additional commands, e-mail: user-help@commons.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message