In a couple of our Visual Basic programs we use a product called Mabry, which provides a means to FTP data between the PC and the i5.
The VB program is set to passive FTP and so is the i5 system.
I am running into errors when the Microsoft firewall is activated, errors that don't occur if the firewall is deactivated.
If the port is NOT specified (property set to 0), the program encounters error 10057 ("The current socket has not been connected.") on the connect statement during the first pass, and then receives error 20602 (which says it is already connected to the server) during the second pass. These two errors are both encountered at the CONNECT statement.
If the port is specified (21), the program encounters error 10054 ("The current socket connection has been reset.") at the DISCONNECT statement.
I'm thinking that the 10054 error condition is probably the best one to work around, but am concerned as to whether there are any consequences to just monitoring for the message and allowing the program to continue processing in spite of the error.
The error message 10054 is:
WSAECONNRESET 10054 Connection reset by peer. An existing connection was forcibly closed by the remote host. This normally results if the peer program on the remote host is suddenly stopped, the host is rebooted or the remote host used a "hard close" (see SETSOCKOPT for more information on the SO_LINGER option on the remote socket).
Your thoughts and suggestions are much appreciated.
QUESTION POSED ON: 06 JUN 2005
QUESTION ANSWERED BY: Shahar Mor
First -- you can not just monitor for this error. This error message reflects the fact that the connection was not successful so you can not just "go on."
Did you try to switch to non-passive mode? This can be done by issuing a sendpasv verb. (I hope you can pass this string via your product.)
|