FTP with WebRequest class - RETR command timeout

  • Thread starter Thread starter dependentu
  • Start date Start date
D

dependentu

Hi,

I tried to use the FTP pluggable class provided by Microsoft:

http://support.microsoft.com/default.aspx?scid=kb;en-us;812409
(topic title: "812409 - HOW TO Write Pluggable Protocol to Support FTP in
Managed Classes by Using Visual C#.NET")

On local server, LAN and some remote servers, it works. On some other remote
servers, it only works until issuing the RETR command. That's when the
receiving control socket timeouts (the socket apparently doesn't receive
anything, since I set it to timeout after 4 minutes, and still no response).

Does anyone know how can I bypass this?

Thank you,
Mihai Cernea
 
Can you run a network sniffer and see why the control socket is timing out ?
Maybe it is timing out because the server is not sending the response to
that command ?

--
Remove "user" from the email address to reply to the author.

This posting is provided "AS IS" with no warranties, and confers no rights

Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
 
Hi,

I tried to use the FTP pluggable class provided by Microsoft:

http://support.microsoft.com/default.aspx?scid=kb;en-us;812409
(topic title: "812409 - HOW TO Write Pluggable Protocol to Support FTP in
Managed Classes by Using Visual C#.NET")

On local server, LAN and some remote servers, it works. On some other remote
servers, it only works until issuing the RETR command. That's when the
receiving control socket timeouts (the socket apparently doesn't receive
anything, since I set it to timeout after 4 minutes, and still no response).

Does anyone know how can I bypass this?
Do those networks have firewall/proxy configurations? I ask because the
FTP protocol is not very friendly with some firewall configurations.
Unlike HTTP, you have two connections (a control connection where commands
are issued and responses are given and a data channel where data is sent to
the server or received from a server). The data channel is negotiated on
the control connection with one of these commands:

PORT

where the client specifies a port and IP address. The server then connect
to this port for the data connection.

PASV

The client issues PASV and the FTP server replies with a port and IP
address that the client needs to connect to for the data channel.

The data channel is used with STOU, STOR, RETR, and LIST. Sometimes, you
might get better results with firewall/proxies by using PASV and sometimes,
the results may be better with the PORT command. You may want to
experiment. Also, be sure that the firewall/proxy configuration settings
are set appropriately. There are different different types of proxies.

The Indy website (http://www.indyproject.org) has a knowledge-base which
includes some information about proxy types and settings for some of these.

HTH.

--
J. Peter Mugaas - Indy Pit Crew
Internet Direct (Indy) Website - http://www.nevrona.com/Indy
Personal Home Page - http://www.wvnet.edu/~oma00215
If I want to do business with you, I will contact you. Otherwise, do not
contact me.
 
Back
Top