commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Viljoen <svilj...@polard.com>
Subject [NET] problem with FTP module Linux / XP narrowed down
Date Sat, 03 Sep 2005 15:35:54 GMT
As regards the apparent issue with wrong behaviour of the storeFile method on 
XP machines only:

I have done further testing on this and I have discovered that storeFile 
attempts to connect to the webserver the applet is running on, when called on 
XP machines with the Windows JVM, NOT the logged in FTP server as is logged 
in to when that instance of the FTPClient object that is having its storeFile 
method being called is started to be used.

On all XP machines, this is displayed in the Java console. Lines tagged J are 
JVM output, lines tagged P is output System.out.prinln'ed by my program:

J1: network: Connecting socket://polard.com:21 with proxy=DIRECT
J2: network: Connecting socket://polard.com:21 with proxy=DIRECT
P1: Connected for initial upload!
P2: Passive mode set
P2: Transferring...
P2: Starting upload now...
*J3: network: Connecting socket://www2a.your-server.co.za:50989 with 
proxy=DIRECT
Upload failed - storeFile returned false - socket?

The line marked with the asterisk is the error line.

Line J3 should be:

network: Connecting socket://polard.com:20 with proxy=DIRECT

to initate a data port connection (FTP on port 20) with the polard.com server, 
to start transferring the file, from that Windows XP machine. This is NOT 
what happens - why does it connect to my webserver, 

network: Connecting socket://www2a.your-server.co.za:50989 with proxy=DIRECT

instead of polard.com:20, to which the object is "logged in" using its connect 
method? With a random port number? The :50989 changes from run to run.

On the Linux JVM, it looks and works exactly right, exactly the same 
sourceode:

J1: network: Connecting socket://polard.com:21 with proxy=DIRECT
J2: network: Connecting socket://polard.com:21 with proxy=DIRECT
P1: Connected for initial upload!
P2: Passive mode set
P2: Transferring...
P2: Starting upload now...
*J3: network: Connecting socket://polard.com:20 with proxy=DIRECT

So the apparent bug is that on Windows JVMs the commons.net FTP module 
"forgets" the server it is connected to, trying instead to open a socket to 
the remote host the applet is running on, with a random port number, instead 
of the FTP server connected to and logged in to with that FTPClient object's 
instances of connect() and login().

How can this be resolved? Is it a bug at all?
-- 
Stefan Viljoen
Software Support Technician / Programmer
Polar Design Solutions

Mobile: (+27) 83 4060854
Tel: (+27) 18 297 1753
Fax: (+27) 18 290 5556 
http://polard.com

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


Mime
View raw message