commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Hoffer <dhoff...@gmail.com>
Subject Re: commons-net sending FTP not working on EC2 server
Date Thu, 11 Oct 2012 12:40:26 GMT
This is what I see from the listener.

220 Serv-U FTP Server v12.1 ready...
USER *******
331 User name okay, need password.
PASS *******
230 User logged in, proceed.
PORT 10,144,154,209,143,212

What does that PORT line mean?  Is that the incoming ports that must
be open?  Why does it use so many ports?  Is that a fixed set or is
this configurable?

-Dave

On Thu, Oct 11, 2012 at 6:13 AM, 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.
>
> 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 <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


Mime
View raw message