PowerTCP Telnet for ActiveX

PowerTCP Telnet for ActiveX

$349.00

Overview Telnet for ActiveX Add telnet and remote access capabilities to your application with the Telnet control. PowerTCP Telnet for ActiveX is feature-rich, easy to use, and backed by the best technical support in the industry. Feature Overview Features Telnet, Rexec, Rlogin, and Rsh communication Create User-interactive client applications Also ideal for automated sessions and scripting applications Automatically negotiates the most common telnet options Trace method for session logging and debugging Easy To Use and Flexible Supports synchronous (blocking) and asynchronous (event-driven) designs Windows applications, services, and scalable ASP applications Easy to program custom telnet options Integrate with a textbox or any other display control Samples and Documentation Many sample projects, including VB6 and VC++ Wrapper classes included for convenient integration into Visual C++ Context-sensitive Help with tutorials and a comprehensive reference guide Royalty-free license Looking for an SSH Control? PowerTCP SSH and SFTP for .NET includes a COM interface! Features 2 Controls/Objects. 11 Full Sample projects. 4 ASP and ASP.NET Samples. Debug Server for debugging and protocol testing. Full MS Help 1.3 Documentation, including examples. Free Introductory Support.   Component Description Telnet Control Use to manage Telnet, rsh, rexec, and rlogin connections. DartStream Object Manages a streamed buffer to/from memory or a file.   Supported Environments Operating Systems: XP, Windows Server 2003, Vista, 2008, Windows 7  See the .NET version of this product >  PowerTCP Telnet for ActiveX can be used in the following development environments: Visual Basic Visual C++ FoxPro ASP VBScript (wscript, cscript, etc) MS Office VBA   Visual Basic Looking to use Telnet in Visual Basic? PowerTCP Telnet for ActiveX contains 2 full sample projects for Visual Basic, including a full-blown Visual Basic Telnet Client! Visual C++ PowerTCP Telnet for ActiveX includes C++ wrapper classes to make Telnet integration into C++ even easier. In addition, 3 full sample projects are included.   Code Examples pullpage   Release History Product Release History The following is a list of public releases for all components shipped with PowerTCP Telnet for ActiveX (Latest Release 2013-06-04)  darttelnet.dll   dartsock.dll   darttelnet.dll    Current Version: 1.9.2.1   1.9.2.1 Released: 2013-06-03   Product fixes in this release: Resolved a Com registration error.     1.9.1.0   Released: 2012-07-10   There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.     1.9.0.0   Released: 2010-10-27   Now functions on all Data Execution Protection (DEP) enabled systems. No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).     dartsock.dll    Current Version: 2.10.2.1     2.10.2.1   Released: 2013-05-08   Product fixes in this release: Resolved a com registration error. Resolved an issue where DartStrings would be empty when reading and splitting a large file with delimiters. (5117) Resolved a memory leak when calling the Udp.Receive(DartStream) overload. (5536)     2.10.0.1   Released: 2012-07-10   There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.     2.9.1.0   Released: 2012-02-09   No changes from 2.9.0.3.     2.9.0.3   Released: 2010-10-26   CertificateList and CertificateStore are now licensed controls in PowerTCP Mail for ActiveX.     2.9.0.2   Released: 2010-07-26   Product fixes in this release: Fixed problem getting DartStrings.All when the collection is empty.     2.9.0.1 Released: 2010-04-28   Now functions on all Data Execution Protection (DEP) enabled systems. No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).     2.9.0.0   Released: 2010-02-11   Product fixes in this release: The StartAfter parameter of DartStrings.Find can now be greater than 65535. (4707) Ras Phonebook entries can now have names with multibyte characters. (4875)     2.8.5.0   Released: 2008-03-19   Product fixes in this release: It is now possible to edit and add to Ras PhoneBooks on Vista machines. (4225) Two running instances of the same application using the Ping control are now completely independent. (4583)     2.8.3.27   Released: 2008-02-04   Product fixes in this release: DartStrings.Remove now works with a string parameter. (4262) NoDelay and KeepAlive properties can now be set to false on Vista machines. (4351) DartStrings.Add now works when adding strings to the end of the collection by specifying an index parameter. (4632)   Online Documentation Rexec on the Web Execute remote commands in ASP with the Telnet Rexec Demo   This sample demonstrates how easy it is to execute a remote command in ASP with the Telnet ActiveX Control (w/ Rexec) included with PowerTCP Telnet for ActiveX and PowerTCP Emulation for ActiveX. Supply the host, login information, and command to execute and this information is posted to an ASP script. This script uses the Telnet control to issue the command. The response from the server is displayed in a text box. Try it out today, and see how easy the Telnet for ActiveX is to use!   This script could be easily modified to execute more advanced commands. For example, SQL commands could be run on a UNIX server, the result of which could be displayed in a browser.   If you are interested in this sample, be sure to see these links: Go to the PowerTCP Telnet for ActiveX Page to learn more about the Telnet ActiveX component. Download PowerTCP Telnet for ActiveX to build your own Telnet application in ASP, VB, C++, Delphi, or your favorite environment.. Manage a Telnet session in ASP with the Autologin Demo   This sample demonstrates how easy it is to manage a Telnet session in ASP with the Telnet ActiveX Control (included with PowerTCP Telnet for ActiveX) Simply enter the host name, login information (username and password), and the expected prompts from the host, and the Telnet control will automatically log in to the host, issue the username and password, and receive the response. Try it out today, and see how easy Telnet for ActiveX is to use!     This script could be easily modified to support additional command issuing to create a more fully-functional web-based Telnet Client!   If you are interested in this sample, be sure to see these links: Go to the PowerTCP Telnet for ActiveX Page to learn more about the Telnet ActiveX component. Download PowerTCP Telnet for ActiveX to create a Telnet application in ASP, VB, Delphi, C++, or your preferred development environment. Telnet ActiveX Control Telnet ActiveX Control Use the Telnet control to easily manage Telnet, rsh, rexec and rlogin connections, simplifying their use with methods to establish, use and terminate sessions. This quality tools represents state-of-the-art component design. Features include:   Communications can optionally block execution of your program for scripting applications, or high-performance event-driven communications can be selected for interactive applications. Supports automatic option negotiation using properties for terminal type, echo and window size, eliminating the extra step of dealing with option negotiation code. Fully supports sub-option and manual option negotiation for advanced applications. Simple methods to manage rsh, rexec, and rlogin connections. Light-weight ATL technology improves upon older OCX products.     Looking for the .NET version of this control?     Development Environments Visual Studio .NET (.NET Framework) Visual Basic (VB) Visual C++ (VC++) FoxPro PowerBuilder Delphi C++ Builder ASP Office 97/2000   Interface Public Properties AutoOption Enables automatic Telnet option negotiation. Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error. Echo Indicates that the remote host should echo all Telnet data it receives back to the client. KeepAlive When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected. LocalAddress When the State property is tcpConnected, LocalAddress returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string. LocalPort When the State property is tcpConnected, LocalPort returns the port number that the socket is bound to. When not connected, it returns 0. ReceiveBufferCount Checks for the existence of data without removing it. Ref Stores a reference to another object, data type, or value. RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected. RemotePort Returns the port number of the remote host when the State property is tcpConnected. SendBufferCount When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data. Socket System identifier assigned to the TCP connection. It is normally used to assume management of an accepted socket from the Daemon Control. State Provides status information to the user interface. The State event fires to signal that this property has changed. TermType Specifies the desired terminal type when the AutoOption property is True. Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways. WindowSize Specifies the desired window size when the AutoOption property is True. Public Methods Abort Abort any blocking method and release all system resources. About Show the About Box. Close Close the session and release all system resources. A single control can be used for many connections, one after the other. Connect Establish a connection. The State property immediately changes to tcpConnecting and changes to tcpConnected when the connection is established. The State Property can be checked in the body of the State event, polled off a timer, or checked immediately after this method is used when a positive Timeout is specified. Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host. Rexec Uses the remote execute protocol common to UNIX systems, which is intended to execute commands on a remote UNIX host. User and Password must match an account on the remote host. Rlogin Uses the remote login protocol common to UNIX systems, which is similar to Telnet but simpler. It does not require Telnet option negotiation because it was intended for use between two UNIX systems. Rsh Uses the remote shell protocol common to UNIX systems, which is intended to execute shell commands on a remote UNIX host. This method differs from the Rexec method (which implements the remote execute protocol) by being faster and not requiring a full login. For full description of the remote shell protocol, see the UNIX man pages. Search Receive data up to and including a terminating sequence. The data stream is searched for the specified Token, and the specified string, byte array, or DartStream object is filled with the data stream up to and including the specified Token. Send Send data after a connection is established. The Send event fires when Data is accepted by the system buffers. The SendBufferCount property indicates the number of bytes that have been submitted but have not yet been accepted by the system buffers. SendCommand Send a Telnet command sequence. The Telnet Control ensures all formatting is accomplished correctly. This method is normally called from within the Command event. Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off. Public Events Command When the AutoOption property is set to False, the Telnet Control does not respond to Telnet commands, but instead fires the Command event. The application must have the appropriate code within this event to handle all option negotiation. The presence of this event allows the user to write sophisticated Telnet clients that can support any desired option, as well as Telnet server applications. The SendCommand method is used to send Telnet option negotiation sequences and commands. Error Fires when an error condition occurs. Receive Fires when ReceiveBufferCount changes. Send Fires when the system accepts data for sending. State Fires when the State property changes.     Code Example How easy is the Telnet ActiveX component to use? Check out the following VB example below, which demonstrates connecting to a host, issuing a command, receiving the reply, and closing the connection.   Dim Data As StringDim Count As Long' Set Timeout to 5000 milliseconds to wait on communicationsTelnet1.Timeout = 5000' establish a connection to a Telnet serverTelnet1.Connect "myhostname"' wait for login promptCount = Telnet1.Search(Data, "Login: ")' send my UsernameTelnet1.Send "user" & vbCrLf' wait for the password prompt&ldots;Count = Telnet1.Search(Data, "Password:")' send my passwordTelnet1.Send "mypassword" & vbCrLf' wait for the shell promptCount = Telnet1.Search(Data, "$ ")' run a report applicationTelnet1.Send "myreport" & vbCrLf' get the report output; terminates with a double lineCount = Telnet1.Search(Data, vbCrLf & vbCrLf)Text1.Text = Data ' put the report into an text box for viewing' close the connectionTelnet1.Close Telnet ActiveX Control (w/ rexec) Telnet ActiveX Control (w/ rexec) Use the Telnet control (w/ rexec) to easily execute a command on a remote machine using the rexec protocol. rexec differs from rsh in that rexec requires a password whereas rsh does not.   Interface    Public Properties AutoOption Enables automatic Telnet option negotiation. Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error. Echo Indicates that the remote host should echo all Telnet data it receives back to the client. KeepAlive When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected. LocalAddress When the State property is tcpConnected, LocalAddress returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string. LocalPort When the State property is tcpConnected, LocalPort returns the port number that the socket is bound to. When not connected, it returns 0. ReceiveBufferCount Checks for the existence of data without removing it. Ref Stores a reference to another object, data type, or value. RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected. RemotePort Returns the port number of the remote host when the State property is tcpConnected. SendBufferCount When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data. Socket System identifier assigned to the TCP connection. It is normally used to assume management of an accepted socket from the Daemon Control. State Provides status information to the user interface. The State event fires to signal that this property has changed. TermType Specifies the desired terminal type when the AutoOption property is True. Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways. WindowSize Specifies the desired window size when the AutoOption property is True. Public Methods Abort Abort any blocking method and release all system resources. About Show the About Box. Close Close the session and release all system resources. A single control can be used for many connections, one after the other. Connect Establish a connection. The State property immediately changes to tcpConnecting and changes to tcpConnected when the connection is established. The State Property can be checked in the body of the State event, polled off a timer, or checked immediately after this method is used when a positive Timeout is specified. Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host. Rexec Uses the remote execute protocol common to UNIX systems, which is intended to execute commands on a remote UNIX host. User and Password must match an account on the remote host. Rlogin Uses the remote login protocol common to UNIX systems, which is similar to Telnet but simpler. It does not require Telnet option negotiation because it was intended for use between two UNIX systems. Rsh Uses the remote shell protocol common to UNIX systems, which is intended to execute shell commands on a remote UNIX host. This method differs from the Rexec method (which implements the remote execute protocol) by being faster and not requiring a full login. For full description of the remote shell protocol, see the UNIX man pages. Search Receive data up to and including a terminating sequence. The data stream is searched for the specified Token, and the specified string, byte array, or DartStream object is filled with the data stream up to and including the specified Token. Send Send data after a connection is established. The Send event fires when Data is accepted by the system buffers. The SendBufferCount property indicates the number of bytes that have been submitted but have not yet been accepted by the system buffers. SendCommand Send a Telnet command sequence. The Telnet Control ensures all formatting is accomplished correctly. This method is normally called from within the Command event. Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off. Public Events Command When the AutoOption property is set to False, the Telnet Control does not respond to Telnet commands, but instead fires the Command event. The application must have the appropriate code within this event to handle all option negotiation. The presence of this event allows the user to write sophisticated Telnet clients that can support any desired option, as well as Telnet server applications. The SendCommand method is used to send Telnet option negotiation sequences and commands. Error Fires when an error condition occurs. Receive Fires when ReceiveBufferCount changes. Send Fires when the system accepts data for sending. State Fires when the State property changes.   Development Environments Visual Studio .NET (.NET Framework) Visual Basic (VB) Visual C++ (VC++) FoxPro PowerBuilder Delphi C++ Builder ASP Office 97/2000   Code Example How easy is the Telnet ActiveX component to use to perform REXEC? Check out the following VB example below which demonstrates Rexec functionality.   ' Timeout after 30 secondsTelnet1.Timeout = 30000' Execute a command to reboot a UNIX hostTelnet1.Rexec "myhost", "myUsername", "myPassword", "reboot" ' Receive the outputDim Output As StringTelnet1.Receive Output' DisplayDebug.Print Output Telnet ActiveX Control (w/ rlogin) Telnet ActiveX Control (w/ rlogin) Use the Telnet control (w/ rlogin) to easily login to a remote machine using the rlogin protocol. Interface    Public Properties AutoOption Enables automatic Telnet option negotiation. Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error. Echo Indicates that the remote host should echo all Telnet data it receives back to the client. KeepAlive When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected. LocalAddress When the State property is tcpConnected, LocalAddress returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string. LocalPort When the State property is tcpConnected, LocalPort returns the port number that the socket is bound to. When not connected, it returns 0. ReceiveBufferCount Checks for the existence of data without removing it. Ref Stores a reference to another object, data type, or value. RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected. RemotePort Returns the port number of the remote host when the State property is tcpConnected. SendBufferCount When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data. Socket System identifier assigned to the TCP connection. It is normally used to assume management of an accepted socket from the Daemon Control. State Provides status information to the user interface. The State event fires to signal that this property has changed. TermType Specifies the desired terminal type when the AutoOption property is True. Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways. WindowSize Specifies the desired window size when the AutoOption property is True. Public Methods Abort Abort any blocking method and release all system resources. About Show the About Box. Close Close the session and release all system resources. A single control can be used for many connections, one after the other. Connect Establish a connection. The State property immediately changes to tcpConnecting and changes to tcpConnected when the connection is established. The State Property can be checked in the body of the State event, polled off a timer, or checked immediately after this method is used when a positive Timeout is specified. Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host. Rexec Uses the remote execute protocol common to UNIX systems, which is intended to execute commands on a remote UNIX host. User and Password must match an account on the remote host. Rlogin Uses the remote login protocol common to UNIX systems, which is similar to Telnet but simpler. It does not require Telnet option negotiation because it was intended for use between two UNIX systems. Rsh Uses the remote shell protocol common to UNIX systems, which is intended to execute shell commands on a remote UNIX host. This method differs from the Rexec method (which implements the remote execute protocol) by being faster and not requiring a full login. For full description of the remote shell protocol, see the UNIX man pages. Search Receive data up to and including a terminating sequence. The data stream is searched for the specified Token, and the specified string, byte array, or DartStream object is filled with the data stream up to and including the specified Token. Send Send data after a connection is established. The Send event fires when Data is accepted by the system buffers. The SendBufferCount property indicates the number of bytes that have been submitted but have not yet been accepted by the system buffers. SendCommand Send a Telnet command sequence. The Telnet Control ensures all formatting is accomplished correctly. This method is normally called from within the Command event. Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off. Public Events Command When the AutoOption property is set to False, the Telnet Control does not respond to Telnet commands, but instead fires the Command event. The application must have the appropriate code within this event to handle all option negotiation. The presence of this event allows the user to write sophisticated Telnet clients that can support any desired option, as well as Telnet server applications. The SendCommand method is used to send Telnet option negotiation sequences and commands. Error Fires when an error condition occurs. Receive Fires when ReceiveBufferCount changes. Send Fires when the system accepts data for sending. State Fires when the State property changes.   Development Environments Visual Studio .NET (.NET Framework) Visual Basic (VB) Visual C++ (VC++) FoxPro PowerBuilder Delphi C++ Builder ASP Office 97/2000   Code Example How easy is the Telnet ActiveX component to use to perform RLOGIN functionality? Check out the following VB example below which demonstrates Rlogin functionality.   ' Timeout after 10 secondsTelnet1.Timeout = 10000' Use the Rlogin methodTelnet1.Rlogin "myhost", "myUsername"' Receive dataTelnet1.Receive Output' Display dataText1.Text = Output Telnet ActiveX Control (w/ rsh) Telnet ActiveX Control (w/ rsh) Use the Telnet control (w/ rsh) to easily use the rsh protocol. With rsh, the client connects to the command processor shell on a UNIX host and executes a command to run a specified program. rsh is like rexec, but doesn't require a password.   Looking for the .NET version of this control?   Interface    Public Properties AutoOption Enables automatic Telnet option negotiation. Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error. Echo Indicates that the remote host should echo all Telnet data it receives back to the client. KeepAlive When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected. LocalAddress When the State property is tcpConnected, LocalAddress returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string. LocalPort When the State property is tcpConnected, LocalPort returns the port number that the socket is bound to. When not connected, it returns 0. ReceiveBufferCount Checks for the existence of data without removing it. Ref Stores a reference to another object, data type, or value. RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected. RemotePort Returns the port number of the remote host when the State property is tcpConnected. SendBufferCount When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data. Socket System identifier assigned to the TCP connection. It is normally used to assume management of an accepted socket from the Daemon Control. State Provides status information to the user interface. The State event fires to signal that this property has changed. TermType Specifies the desired terminal type when the AutoOption property is True. Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways. WindowSize Specifies the desired window size when the AutoOption property is True. Public Methods Abort Abort any blocking method and release all system resources. About Show the About Box. Close Close the session and release all system resources. A single control can be used for many connections, one after the other. Connect Establish a connection. The State property immediately changes to tcpConnecting and changes to tcpConnected when the connection is established. The State Property can be checked in the body of the State event, polled off a timer, or checked immediately after this method is used when a positive Timeout is specified. Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host. Rexec Uses the remote execute protocol common to UNIX systems, which is intended to execute commands on a remote UNIX host. User and Password must match an account on the remote host. Rlogin Uses the remote login protocol common to UNIX systems, which is similar to Telnet but simpler. It does not require Telnet option negotiation because it was intended for use between two UNIX systems. Rsh Uses the remote shell protocol common to UNIX systems, which is intended to execute shell commands on a remote UNIX host. This method differs from the Rexec method (which implements the remote execute protocol) by being faster and not requiring a full login. For full description of the remote shell protocol, see the UNIX man pages. Search Receive data up to and including a terminating sequence. The data stream is searched for the specified Token, and the specified string, byte array, or DartStream object is filled with the data stream up to and including the specified Token. Send Send data after a connection is established. The Send event fires when Data is accepted by the system buffers. The SendBufferCount property indicates the number of bytes that have been submitted but have not yet been accepted by the system buffers. SendCommand Send a Telnet command sequence. The Telnet Control ensures all formatting is accomplished correctly. This method is normally called from within the Command event. Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off. Public Events Command When the AutoOption property is set to False, the Telnet Control does not respond to Telnet commands, but instead fires the Command event. The application must have the appropriate code within this event to handle all option negotiation. The presence of this event allows the user to write sophisticated Telnet clients that can support any desired option, as well as Telnet server applications. The SendCommand method is used to send Telnet option negotiation sequences and commands. Error Fires when an error condition occurs. Receive Fires when ReceiveBufferCount changes. Send Fires when the system accepts data for sending. State Fires when the State property changes.   Development Environments Visual Studio .NET (.NET Framework) Visual Basic (VB) Visual C++ (VC++) FoxPro PowerBuilder Delphi C++ Builder ASP Office 97/2000   Code Example How easy is the Telnet Control to use to perform RSH? Check out the following VB example below which demonstrates Rsh functionality.   On Error GoTo OnError ' use intrinsic error handling ' Timeout after 10 seconds Telnet1.Timeout = 10000 ' Use Rsh method to reboot the UNIX host Telnet1.Rsh "myhost", "myUsername", "reboot" ' didn't go to OnError, so we connected and executed ' command before 10 seconds elapsed! Exit SubOnError: ' Any error jumps here ' no connection within 10 seconds, or other error (Tcp1.State is tcpClosed) Debug.Print "Error #" + CStr(Err.Number) + ": " + Err.Description

Show More Show Less