J
Mon Feb 23 02:30:58 CST 2004
On Sun, 22 Feb 2004 19:06:50 +0200, dependentu wrote:
> 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.