PowerTCP Winsock for ActiveX

from $249.00
Available Platforms

Add Winsock Functionality to your Visual Basic Application

PowerTCP Winsock for ActiveX includes TCP, UDP, Daemon, DNS, Ping and RAS controls for Visual Basic (VB6) and other COM supported environments such as VC++, Delphi and PowerBuilder. PowerTCP provides the building blocks you need for basic or complex Internet application development. Looking for secure TCP? Check out PowerTCP SSL for ActiveX.

 

Consulting and Custom Development

From custom protocols to complete client-server solutions, let our experienced staff help with your TCP/IP project

 

  • TCP control can be used to implement standard upper-layer protocols (such as WHOIS and Time), as well as any custom protocols you want to develop.
  • UDP control can likewise be used to implement standard upper-layer protocols (such as Network Time Protocol), as well as custom protocols that use datagram-level communications.
  • Daemon control accepts incoming connections, then TCP controls can be created on new threads, implementing custom multi-threaded server applications.
  • DNS control is implemented directly (does not use Winsock services), so you can do address look-ups, reverse address look-ups, and mail address look-ups (from MX records).
  • RAS control provides complete control over dial-up IP services.
  • Ping control checks if a host is reachable.
  • Supports COM+ Component Services.
  • Can be used in a multi-threaded environment.
  • Includes a royalty-free license.
  • Wrapper classes included for convenient integration into Visual C++.
  • Use in COM-supported environments like Visual Basic (VB6), VC++, Microsoft Office VBA (Word, Excel, etc), Delphi, PowerBuilder and more.

 

  • 8 Controls/Objects.
  • 41 Full Sample projects.
  • 8 ASP/ASP.NET Samples.
  • Debug Server for debugging and protocol testing.
  • Full MS Help 1.3 Documentation, including examples.
  • Free Introductory Support.

 

Component Description
Daemon Control Use to accept TCP connections.
Dns Control Use to access Domain Name Servers.
Ping Control Use to determine if a host is reachable.
Ras Control Use to establish a Remote Access Server (RAS) connection to a remote communications server.
Tcp Control Use to manage streams of data through a TCP Socket.
Udp Control Use the UDP Control to send and receive User Datagrams and raw IP Datagrams.
DartStream Object Use to manage a streamed buffer to/from memory or a file.
DartStrings Object Collection of strings.

 

Supported Environments

Operating Systems: XP, Windows Server 2003, Vista, 2008, Windows 7, Windows 8

See the .NET version of this product >

PowerTCP Winsock 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 integrate network connectivity into Visual Basic? PowerTCP Winsock for ActiveX contains 11 full sample projects for Visual Basic, demonstrating Internet communication using TCP, UDP, DNS, Ping, RAS and more.

 

Visual C++
PowerTCP Winsock for ActiveX includes C++ wrapper classes to make network integration into C++ even easier. In addition, 8 full sample projects are included.

 

Sample Projects Included

These Winsock samples included with the installation are fully working applications and include complete source code.
Sample Name Sample Description Environments
DartChat Uses the UDP Control and multicast datagrams to join chat sessions. VB 6, VC++ 6
DartDraw Uses the UDP Control and broadcasting to create a community whiteboard application. VB 6
DNS Client Uses the DNS Control to resolve any host name to an address (type A records), any address to its host name (type PTR records), any email address to its host name and address (type MX records). VB 6, VC++ 6
Ping Client Uses the Ping Control to ping any host. VB 6, VC++ 6
RAS Client Uses the RAS Control to demonstrate dial-up operation. VB 6, VC++ 6
TCP Blaster Uses the Daemon and TCP Controls to demonstrate high-throughput operation. VB 6, VC++ 6
TCP Client Uses the TCP Control to build an interactive on-line application for time, character builder, smtp, echo, etc. VB 6
UDP Client Uses the UDP Control in an interactive "chat" application. VB 6, VC++ 6
WebAlive Uses the TCP Control to compare the performance of any two web servers. VB 6

 

 

Winsock for ActiveX also includes the following application(s):

Application Description
Debug Server This server application is based upon one of Dart's own internal testing tools and is designed to help developers debug their client-side applications by being able to see the message sent from a client application. Then, a developer can respond to the client application with a customized response message sent from the server.

 

 

ASP (Online) Samples
Our ASP samples give a live, onsite demonstration of our tools. 

Sample Name Sample Description Environments
DNS on the Web ASP application uses the DNS Control to resolve a host name to an address, an address to host name(s), or an email address to a mail server name and address. COM, .NET

 

Product Release History

The following is a list of public releases for all components shipped with PowerTCP Winsock for ActiveX (Latest Release 2017-12-07)

 

dartsock.dll   dartras.dll   dartutil.dll

 

dartsock.dll

   Current Version: 2.12.0.0

 

 

2.12.0.0   Released: 2017-12-07


 

  • Version change for installation kit.

 

 

2.11.1.0   Released: 2017-10-26


 

  • Now includes 64-bit dlls.
  • Support for IPv6 has been added.

 

 

2.11.0.0   Released: 2015-11-13


 

  • Version change.

 

 

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)

 

 

dartras.dll

   Current Version: 2.9.1.0

 

 

2.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.

 

 

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.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)

 

 

dartutil.dll

   Current Version: 2.12.0.0

 

2.12.0.0   Released: 2017-12-07


 

  • Version change for Winsock installation.

 

 

2.10.1.0   Released: 2017-10-26


 

  • Now includes 64-bit dlls.

 

 

2.10.0.0   Released: 2015-11-12


 

Product fixes in this release:

  • No bug fixes, version change.

 

 

2.9.3.0   Released: 2013-05-17


 

Product fixes in this release:

  • Resolved a Com registration error.

 

 

2.9.2.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.

 

 

2.9.1.0   Released: 2012-02-09


 

  • No changes from 2.9.0.1.

 

 

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.8.5.0   Released: 2008-03-19


 

Product fixes in this release:

  • Two running instances of the same application using the Ping control are now completely independent. (4583)

 

Tcp ActiveX Control

Use the Tcp control to easily implement any upper-layer protocol that is based on a TCP data stream. Features include:

  • Send method sends data to the server.
  • Receive method receives all available data.
  • Search Method supports variable length records and line processing, eliminating the need to search for termination characters and simplifying buffer management.
  • Fill Method supports fixed length binary records, simplifying buffer management and reducing the code needed to send and receive binary structures.
  • Proxy support, including Socks 4 and 5

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
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.
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 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 Returns the port number that the socket is bound to. When not connected, it returns 0.
NoDelay When True, the NODELAY socket option is set to defeat Nagle's algorithm.
ProxyHost Specifies the name or address of the proxy server that requests are to be routed through.
ProxyPassword Password to be sent on all requests through a proxy server that requires authentication.
ProxyPort Specifies the port used by proxy server that requests are to be routed through.
ProxyType The type of proxy server used for this connection.
ProxyUsername Username to be sent on all requests through a proxy server that requires authentication.
ReceiveBufferCount Checks for the existence of data without removing it.
ReceiveBufferSize Number of bytes the system has for buffering incoming data.
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.
ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
RemotePort Returns the port number of the remote host when the State property is tcpConnected.
ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
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.
SendBufferSize Number of bytes the system uses for buffering outgoing 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.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
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 then 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.
Fill Use this method when you know exactly how many bytes or characters you want from the TCP stream. Data is either filled to capacity or no data is returned. This method is useful for processing fixed-length records that can include binary structures.
Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host.
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. The SendBufferCount property always indicates the number of bytes that have been submitted but have not yet been accepted by the system.
Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off.
Public Events
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 TCP ActiveX component to use? Check out the following TCP VB example below, which demonstrates connecting to an Echo server and sending and receiving data.

 

Dim Reply As String

' Set Timeout to 1000 milliseconds to wait on communications for program execution
Tcp1.Timeout = 1000

' Establish a connection to an echo server that repeats back what it receives
' "myhostname" is the host address, and 7 indicates the echo port
Tcp1.Connect "myhostname", 7

' Since no Error condition is reported, we know we succeeded: send a string
Tcp1.Send "!"

' Receive the reply from the server
Tcp1.Receive Reply

If Reply = "!" Then MsgBox "Success!"

' Close the connection
Tcp1.Close

Udp ActiveX Control

Use the Udp control to easily send and receive User, Multicast, and raw IP Datagrams. Features include:

  • Supports raw datagrams, providing the ability to access advanced protocols like ICMP.
  • Supports multicast datagrams, allowing you to send and receive streaming protocols, and to easily construct chat programs.
  • Broadcast operation.

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
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.
DontEcho Disables the local echoing of multicast packets sent by the control.
LocalAddress Returns the address in use while the socket is active and an empty string when the UDP socket is closed.
LocalPort Returns the port number in use while the socket is active and 0 when the socket is closed. When the Protocol property of the UDP Control is not ptUdp, LocalPort returns 0.
MaxSubnets Maximum number of subnets a multicast packet is allowed to travel.
Protocol The datagram protocol to use.
SendDatagramCount Number of datagrams queued for sending.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
UserHeaders Enables the use of user-defined IP headers.
Public Methods
Abort Abort any blocking method and release all system resources.
About Show the About Box.
Close Release system resources.
Join Join a multicast group.
Leave Leave a multicast group.
Open Allocate a socket for sending and receiving datagrams.
Receive Receive a datagram into a buffer.
Send Send a datagram to the specified remote address and port.
Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off.
Public Events
Error Fires when an error condition occurs.
Receive Fires when a datagram is available for receiving.
Send Fires when the system accepts a datagram for transmission.

  

Code Example

How easy is the UDP control to use? Check out the following UDP VB example below, which demonstrates sending a datagram and receiving a response.

 

Dim uResponse As String
Dim uAddress As String
Dim uPort As String

Udp1.Timeout = 0

'LocalPort defaults to 0... system will assign an unused (ephemeral) port
Udp1.Open

' Send a datagram to www.dart.com, echo port 7
Udp1.Send "Send me an echo", "www.dart.com", 7

' uResponse will by dynamically expanded and filled with the echo response
Udp1.Receive uResponse
uAddress = Udp1.LocalAddress
uPort = Udp1.LocalPort

'display address and port information in message box
dMsg = d & vbCrLf
dMsg = dMsg & "LocalAddress is " & uAddress & vbCrLf
dMsg = dMsg & "LocalPort is " & uPort
MsgBox dMsg

Daemon ActiveX Control

Use the Daemon control to build a multi-threaded server. Can accept an unlimited number of connections that can be assigned to dynamic SecureTcp controls for stream management. Features include:

  • Can accept an unlimited number of connections.
  • After accepting a connection, pass it to a Tcp control to send and receive data to the remote host.
  • The Daemon control comes complete with extensive samples demonstrating its use.
  • Help file quick starts show also demonstrate how to use the Daemon control.
  • Controls can operate on separate threads, so Server Applications can be written using apartment model multi-threading features. Or, see PowerTCP Server for ActiveX for an ActiveX control which already does this.

 

Development Environments
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • ASP
  • Office 97/2000
  • and more

 

Interface
Public Properties
LocalAddress Returns the address in use while the Daemon is active and an empty string when the Daemon socket is closed.
LocalPort Returns the port number in use while the Daemon is active and 0 when the Daemon is closed.
ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
Public Methods
About Show the About Box.
Accept Accept a connection and pass it to a TCP control for subsequent connection management. The Listen method must have been previously used to listen for passive connections.
Close Release system resources.
Listen Start listening for passive connections.
Accept Fires when a passive connection occurs. Use the Accept method to get the socket, then transfer it to a TCP control for management.
Error Fires when an error condition occurs.

  

Code Example

How easy is the Daemon ActiveX control to use? The following VB example demonstrates accepting a connection.

 

' Listen for connections on Port 7
Daemon1.Listen 7

Private Sub Daemon1_Accept()
' create a new TCP Control and assign the Socket to it
Dim Tcp1 As Tcp

' myclass supports event notification for Tcp operation
Set Tcp1 = New myclass
Tcp1.Socket = Daemon1.Accept
End Sub

Dns ActiveX Control

Use the Dns control to integrate domain name resolution into any COM application, allowing your application to easily resolve domain names, host addresses, and email addresses. Features include:

  • The Dns control bypasses Winsock system services, so you can query ANY Domain Name Server on the Internet.
  • Resolve a domain name to a dot address (forward lookup)
  • Resolve a dot address to a domain name (reverse lookup)
  • Resolve an email address to the mail server responsible for the mail server (mx lookup)
  • The Dns control comes complete with extensive samples.

Looking for the .NET version of this control?

 

Development Environments
  • Visual Studio .NET (.NET Framework)
  • Visual Basic (VB)
  • Visual C++ (VC++)
  • FoxPro
  • ASP
  • Office 97/2000

  

Interface Members
Public Properties
Addresses Collection of addresses in dot notation (nnn.nnn.nnn.nnn) returned by the Domain Name Server.
Id Sets the Dns request ID included with the request.
Names Collection of names returned by the Domain Name Server.
ServerName Domain Name Server to use for queries.
ServerPort Domain Name Server port for queries.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
Public Methods
Abort Abort any blocking method and release all system resources.
About Show the About Box.
GetAddress Resolve a host name to a dot address.
GetMailServer Get the mail server (or servers) responsible for receiving mail for a given email address.
GetName Resolve a dot address to a host name.
Public Events
Error Fires when an error condition occurs.
Response Fires after the Id, Addresses, and Names properties are updated with the contents of a DNS response.

 

Code Example

How easy is the DNS ActiveX control to use? Check out the following VB example below, which demonstrates getting an IP address for a domain name.

 

' Specify the DNS server to use to resolve the request
Dns1.ServerName = "Dns1.nameserver.com"

' Get the IP address for a url
Dns1.GetAddress "dart.com"

' show the result to the user
MsgBox "Address of dart.com: " & Dns1.Addresses(1)

Ras ActiveX Control

Use the Ras control to integrate dial-up functionality to a Remote Access Server into your application. Features include:

  • If the user of your application is not directly connected to the Internet, you can use the RAS control to provide the same automatic dial-up features that are available in Internet Explorer and Outlook Express.
  • Provides an object model for phonebook access, methods for establishing and closing dialup connections, and functionality for RAS phonebook management.
  • A combo box is provided as a visual interface to the RAS phonebook for configuration purposes.
  • Can be invisible or visible, simplifying user configuration.

  

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
BackColor Returns or sets the background color of the control.
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.
Enabled Determines if the control can respond to mouse and keyboard input. The default value is True.
Font Font used by the control. The default font is the ambient font set in the container.
ForeColor Foreground color for the control (text color within the combo box).
Handle Handle for the RAS connection.
PhoneBook Holds a complete RAS phonebook as a PhoneBookEntries Object.
State Provides status information to the user interface. The State event fires to signal that this property has changed.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
Visible Determines whether the control is visible.
Public Methods
Abort Abort any blocking method and release all system resources.
About Show the About Box.
Close Terminate the RAS connection and release all system resources.
Connect Establish a remote access connection to a remote communications server without using a RAS phonebook entry. The RAS system uses the first available connection device. Use the ConnectEntry method to establish a connection using a RAS phonebook entry.
ConnectEntry Establish a RAS connection to a remote communications server by naming a phonebook entry. Specify the Name of the loaded PhoneBookEntry Object you want to dial. All required parameters are fetched from the phonebook entry. Use the Connect method to establish a connection without the phonebook.
Public Events
Error Fires when the RAS Control encounters an error.
State Fires when the State property has changed.

  

Code Example

How easy is the RAS ActiveX component to use? Check out the following RAS VB example below, which demonstrates establishing a RAS connection.

 

' give RAS up to 60 secs to dial out and make connection
Ras1.Timeout = 60000

' connect without using a phonebook entry
Ras1.Connect "555-9595", "johndoe", "pleaseconnect"

' can now connect via a TCP connection

Ping ActiveX Control

Use the Ping control to easily send and receive ICMP echo (Ping) messages. Dynamically discovers if a host is reachable. Features include:

  • Determine if any host is online and reachable.
  • Simple interface makes the Ping control easy-to-use.
  • Ping a host using blocking or non-blocking techniques.
  • Specify any amount of data to send along with the Ping packet.
  • Assign an ID to the Ping packet.

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 (requires the ASP user to have permission to use raw sockets; see Ping Enterprise for a control that does not have this requirement)
  • Office 97/2000

  

Interface
Public Constructors
Ping Use the Ping Control to determine if a host is reachable.
Public Properties
Data Optional data that is sent and returned with each ping request.
Delay Time between sending the ping request and receiving the response (round-trip time in milliseconds).
Id Sets the ping request ID included with the request.
Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
Public Methods
Abort Abort any blocking method and release all system resources.
About Show the About Box.
Ping Determine if a host is reachable.
Error Fires when an error condition occurs.
Response Fires after the Id, Delay, and Data properties are updated with the contents of a ping response.

 

Code Example

How easy is the Ping ActiveX component to use? Check out the following Ping VB example below, which demonstrates getting an IP address for a domain name.

 

On Error GoTo OnError ' use intrinsic error handling

Dim Count As Integer
Dim Delay As Integer
Ping1.Timeout = 10000 'give it 10 seconds to complete
Delay = 0

' Ping a host 3 times.
For Count = 1 To 3
Ping1.Ping "www.dart.com"
Delay = Delay + Ping1.Delay
Next Count

' take the average time
Delay = Delay / Count
MsgBox "Server is reachable, average delay " & Delay & " ms"

Exit Sub

OnError: ' Any error jumps here
Debug.Print "ERROR #" + CStr(Err.Number) + ": " + Err.Description

Purchase Options

Customize your product and support options match your needs. Discounts are applied when products are purchased in multiples or within available product suites.

$0.00 discount
 
$399.00

Have any questions about purchasing? See our Sales FAQ